sihu国产精品永久免费_日韩午夜在线视频_久久99中文字幕伊人_古代男男嗯…啊h总攻

redrock99
級(jí)別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 319 個(gè)
工控威望: 554 點(diǎn)
下載積分: 3735 分
在線時(shí)間: 172(小時(shí))
注冊(cè)時(shí)間: 2009-02-04
最后登錄: 2024-12-16
查看redrock99的 主題 / 回貼
樓主  發(fā)表于: 2011-06-30 23:25
今天用到2個(gè)200的熱電偶模塊231,是K型的,
模塊通道信號(hào)變換成0-32000的值,變換成實(shí)數(shù)除以10就是實(shí)際溫度,但是,若偶斷線,變成最高溫度或是最低溫度是不是
0或32000?有個(gè)樣例程序,
MAIN
Network 1 // 在S7-200CPU上使用熱電偶模塊EM231
// 初始化,清除四路熱電偶輸入映像及存放模塊錯(cuò)誤信息的字
LD     SM0.1                       // Load SM0.1.
FILL   +0, VW0, 6                  // Clear VW0 to VW10.
FILL   +0, MW0, 1                  // Clear MW0.

Network 2
// 調(diào)用子程序THER_CHK,在該子程序中定義了五個(gè)輸出點(diǎn),分別與M0.2,M0.3,M0.5,M0.6,M0.7相對(duì)應(yīng)
LD     SM0.0                       // Load SM0.0
CALL   SBR0, 0, M0.2, M0.3, M0.5, M0.7, M0.6 // Call subroutine SBR0.

Network 3 // 無錯(cuò)誤
// 如果M0.6置位,說明熱電偶模塊沒有錯(cuò)誤。從熱電偶0的AIWO開始讀取四路模擬量輸入值
LD     M0.6                        //Load M0.6.
BMW    AIW0, VW0, 4                //Move good values to new location.

Network 4 // 有錯(cuò)誤
// 如果M0.6沒有置位,說明熱電偶模塊有錯(cuò)誤,此時(shí),把記錄熱電偶錯(cuò)誤的MB0中的值放到存放錯(cuò)誤信息的VB10中。此時(shí)有兩種選擇:一是什么都不做來凍結(jié)熱電偶信息,二是傳送一個(gè)常數(shù)到熱電偶信息中
// 如下是通過將常數(shù)0放到VW4和VW6中來清除熱電偶2和3的輸入映像
LDN    M0.6                        //Load M0.6 as a Normally Closed contact.
MOVB   MB0, VB10                   //Latch error information.
                                   //Freeze Thermocouple0
                                   //Freeze Thermocouple1
MOVW   +0, VW4                     //Clear Thermocouple2.
MOVW   +0, VW6                     //Clear Thermocouple3.
//NETWORK TITLE (single line)
//
//NETWORK COMMENTS
//

Network 5
子程序THER_CHK
TITLE=***SUBROUTINE***  THER_CHK
// 處理錯(cuò)誤信息
Network 1
// LB0中存放的是子程序0的輸入點(diǎn)。如果LB0為0,則把特殊寄存器SMW8中的值放到LW2中。SMB8是擴(kuò)展模塊0的類型記錄,SMB9是擴(kuò)展模塊0的錯(cuò)誤記錄
LDB=   0, LB0                      //Compare slot number to 0.
MOVW   SMW8, LW2                   //Copy ID and Error info to LW2.

Network 2
// 如果LB0等于1,把特殊寄存字SMW10的值放到LW2中,SMB10中存放的是擴(kuò)展模塊1的類型記錄,SMB11是擴(kuò)展模塊1的錯(cuò)誤記錄
LDB=   1, LB0                      //Compare slot number to 1.
MOVW   SMW10, LW2                  //Copy ID and Error info to LW2.

Network 3
// 如果LB0等于2,把特殊寄存字SMW12的值放到LW2中,SMB12中存放的是擴(kuò)展模塊2的類型記錄,SMB13是擴(kuò)展模塊2的錯(cuò)誤記錄
LDB=   2, LB0                      //Compare slot number to 2.
MOVW   SMW12, LW2                  //Copy ID and Error info to LW2.

Network 4
// 如果LB0等于3,把特殊寄存字SMW14的值放到LW2中,SMB14中存放的是擴(kuò)展模塊3的類型記錄,SMB15是擴(kuò)展模塊3的錯(cuò)誤記錄
LDB=   3, LB0                      //Compare slot number to 3.
MOVW   SMW14, LW2                  //Copy ID and Error info to LW2.

Network 5
// 如果LB0等于4,把特殊寄存字SMW16的值放到LW2中,SMB16中存放的是擴(kuò)展模塊4的類型記錄,SMB17是擴(kuò)展模塊4的錯(cuò)誤記錄
LDB=   4, LB0                      //Compare slot number to 4.
MOVW   SMW16, LW2                  //Copy ID and Error info to LW2.

Network 6
// 如果LB0等于5,把特殊寄存字SMW18的值放到LW2中,SMB18中存放的是擴(kuò)展模塊5的類型記錄,SMB19是擴(kuò)展模塊5的錯(cuò)誤記錄
LDB=   5, LB0                      //Compare slot number to 5.
MOVW   SMW18, LW2                  //Copy ID and Error info to LW2.

Network 7
// 如果LB0等于6,把特殊寄存字SMW20的值放到LW2中,SMB20中存放的是擴(kuò)展模塊6的類型記錄,SMB21是擴(kuò)展模塊6的錯(cuò)誤記錄
LDB=   6, LB0                      //Compare slot number to 6.
MOVW   SMW20, LW2                  //Copy ID and Error info to LW2.

//Check for Module Errors Supported by Thermocouple

Network 8
//  如果L3.2置位,則說明沒有使用的電源/模塊錯(cuò)誤,把L1.0置1(子程序復(fù)制L1.0的值,并將其放到子程序第一個(gè)輸出M0.2中)
LD     L3.2
=      L1.0

Network 9
// 如果L3.3置位,則說明有輸出范圍錯(cuò)誤,把L1.1置1(子程序復(fù)制L1.1的值,并將其放到子程序第二個(gè)輸出M0.3中)
LD     L3.3
=      L1.1

Network 10
// LB2與十六進(jìn)制數(shù)18進(jìn)行比較,(十六進(jìn)制數(shù)18相當(dāng)于二進(jìn)制數(shù)00011000。從右至左,這個(gè)二進(jìn)制數(shù)與當(dāng)前擴(kuò)展模塊7到0的標(biāo)記相符。這些位提供了如下信息:
// 位7=0:說明有模塊
// 位6和5=00:模塊是非智能I/O模塊
// 位4=1:模塊是一個(gè)模擬量模塊
// 位3和2=10:模塊有四路模擬量輸入
// 位1和0=00:模塊沒有輸出)
// 如果LB2和十六進(jìn)制數(shù)18不相等,說明有模塊識(shí)別錯(cuò)誤。將L1.2置1.(子程序復(fù)制L1.2的值,將其放到子程序第三個(gè)輸出M0.5中)
LDB<>  LB2, 16#18
=      L1.2

Network 11
// 如果L3.7置位,說明有配置錯(cuò)誤,將L1.3置位(子程序復(fù)制L1.3的值放到子程序的第四個(gè)輸出M0.7中)
LD     L3.7
=      L1.3

Network 12
// 如果沒有以上提到的錯(cuò)誤,置位L1.4,子程序復(fù)制L1.4的值,將其放到子程序第五個(gè)輸出M0.6中
LDN    L1.0
AN     L1.1
AN     L1.2
AN     L1.3
=      L1.4

有點(diǎn)看不懂,是不是把問題搞復(fù)雜了?
//