主程序里的地址識(shí)別
劉玉蓉
發(fā)布于2014-10-21 17:18
32
0
標(biāo)簽:
用的是模擬量輸入模塊331-7KF02-0AB0,壓力傳感器量程0-10MPa,輸出4-20mA信號,對應(yīng)的PLC為0-27648,我在功能FC中已經(jīng)編好了模擬量的輸入程序,端口數(shù)據(jù)存儲(chǔ)在MD16。主程序里OB調(diào)用FC后,緊接著在其后加了個(gè)比較指令,IN1為MD6,IN2為5.0MPa,當(dāng)IN1大于IN2時(shí)就會(huì)輸出報(bào)警Q7.0···
可現(xiàn)在問題是無論我怎么樣改變輸入電流,我就是沒有報(bào)警輸出?怎么回事?難道是FC的MD16和主程序里的MD16不識(shí)別?請教?
下圖圖1主程序截圖,圖2是FC
問題補(bǔ)充:
有人建議我,在比較報(bào)警輸出指令后加一個(gè)延時(shí)指令?這是為啥?
圖片說明: 1,1.1 2,1.2
佳答案
根據(jù)你的FC1程序塊及其調(diào)用情況看,符合你的要求:壓力變送器的量程為0~10MPa,輸出信號為4~20mA,
模擬量輸入模塊的量程為4~20mA,轉(zhuǎn)換后的數(shù)字量為0~27 648,假設(shè)轉(zhuǎn)換后得到的數(shù)字為N,以kPa 為單位的壓力值為0~10MPa(0~10 000kPa),對應(yīng)于轉(zhuǎn)換后的數(shù)字0~27 648(數(shù)字化的模擬值PIW258),通過兩次轉(zhuǎn)換把單整數(shù)(字)轉(zhuǎn)換為浮點(diǎn)數(shù)的實(shí)數(shù),再經(jīng)過實(shí)數(shù)乘法和實(shí)數(shù)除法,實(shí)際上是轉(zhuǎn)換公式為P = 10 × N / 27 648 (MPa),轉(zhuǎn)換為浮點(diǎn)格式的實(shí)數(shù)值,通過賦值指令保存到位存儲(chǔ)雙字MD16中,而且你在運(yùn)算時(shí)采用了要先乘后除,保證了原始數(shù)據(jù)的精度,程序是沒有任何問題的。
你在主循環(huán)OB1中調(diào)用FC1也是可以的,但由于PLC的一個(gè)掃描周期一般為40-100ms,而輸入刷新的時(shí)間一般為4ms左右;而且PLC工作的主要特點(diǎn)是輸入信號的集中處理、執(zhí)行過程集中批處理和輸出控制集中批處理,即采用“串行”工作方式,這種工作方式對于快速響應(yīng)的控制系統(tǒng)引起時(shí)間上的滯后,建議在比較報(bào)警輸出指令后加一個(gè)延時(shí)指令是必要的。
同時(shí),在SIMATIC管理器中打開你的項(xiàng)目的硬件組態(tài)界面,檢查模擬量輸入模塊331-7KF02-0AB0的設(shè)置是否正確,模塊的缺省設(shè)置為“電壓”測量,量程為“± 10V”。必須根據(jù)你所連接的壓力傳感器量程是兩線制電流測量還是四線制電流測量(4-20mA),更改量程卡的位置(兩線制電流測量選擇D,四線制電流測量為C),使之適合測量類型和范圍模塊的印記也提供了必要的設(shè)置。 一般標(biāo)記前門上量程卡的位置