西門子模塊6SL3040-0MA00-0AA1
一、項(xiàng)目背景:
鄂爾多斯西匯供水是內(nèi)蒙古鄂爾多斯集團(tuán)為硅鐵項(xiàng)目提供支持的配套項(xiàng)目公司之一, 鄂爾多斯西匯供水是從黃河岸邊引水經(jīng)過穩(wěn)壓井,、沉淀池(輻流池),、澄清池,然后給鄂爾多斯集團(tuán)電力冶金公司供水,每年可向鄂爾多斯集團(tuán)電力冶金公司供水10萬余噸,。
二,、解決方案:
根據(jù)廠區(qū)的特點(diǎn),本工程采用三套S7-300的PLC,,液位,、壓力、流量,、濁度等信號采集包含在ET200M遠(yuǎn)程從站部分和S7-300主站部分,,ET200M在網(wǎng)絡(luò)上作為Profibus從站與作為主站的S7-300相連,,三個(gè)分站的WINCC通過MPI和三套S7-300進(jìn)行數(shù)據(jù)訪問,中央控制室WINCC通過各個(gè)分站的CP342-5和各個(gè)分站CPU進(jìn)行數(shù)據(jù)訪問,?! ?/span>

包頭皮帶機(jī)項(xiàng)目是遠(yuǎn)程皮帶傳輸控制系統(tǒng),PLC控制系統(tǒng)和傳動(dòng)系統(tǒng)全部采用西門子產(chǎn)品來實(shí)現(xiàn)其物料傳輸,,PLC控制系統(tǒng)采用西門子S7-300系統(tǒng),,實(shí)現(xiàn)對變頻驅(qū)動(dòng)系統(tǒng)和故障安全系統(tǒng)進(jìn)行遠(yuǎn)程控制,實(shí)現(xiàn)現(xiàn)場無人值守,,大大降低了運(yùn)行及維護(hù)成本,,并與沈陽東華研究所開發(fā)的綜保儀控制系統(tǒng)成功實(shí)現(xiàn)了PROFIBUS與MODBUS協(xié)議轉(zhuǎn)換通訊,目前在國內(nèi)成功實(shí)現(xiàn)該方式通訊的,,該工程應(yīng)用尚屬,。
PLC系統(tǒng)的核心由S7-300構(gòu)成,除了通過I/O模板采集現(xiàn)場信號來進(jìn)行監(jiān)控,。主要是實(shí)現(xiàn)對西門子6SE71系列變頻器的PROFIBUS通訊,,來控制變頻器并最終控制其傳動(dòng)系統(tǒng)。其次通過與綜保儀的數(shù)據(jù)交換采集沿線報(bào)警及連鎖信號,,真正意義上實(shí)現(xiàn)安全的無人值守,。
另外,我公司還為皮帶機(jī)沿線設(shè)計(jì)了電視監(jiān)控系統(tǒng),,采用美國INFITO監(jiān)控系統(tǒng),,在中控室內(nèi)就可清晰的從各個(gè)角度看到沿線工況。

西門子模塊6SL3040-0MA00-0AA1
三,、填表指令(ATT)
S7-200填表指令(ATT)的使能端(EN)必須使用一個(gè)上升沿或下降沿指令(即在下圖的I0.1后加一個(gè)上升沿或下降沿),,若單純使用一個(gè)常開觸點(diǎn),就會(huì)出現(xiàn)以下錯(cuò)誤:

這一點(diǎn)在編程手冊中也沒有說明,,需要注意,。其他的表格指令也同樣。
四,、數(shù)據(jù)轉(zhuǎn)換指令
使用數(shù)據(jù)轉(zhuǎn)換指令時(shí),,一定要注意數(shù)據(jù)的范圍,數(shù)據(jù)范圍大的轉(zhuǎn)換為數(shù)據(jù)范圍小的發(fā)注意不要超過范圍,。如下圖所示為數(shù)據(jù)的大小及其范圍,。

(1)BCD碼轉(zhuǎn)化為整數(shù)(BCD_I)
關(guān)于什么是BCD碼,,請參看《關(guān)于BCD碼》。
BCD碼轉(zhuǎn)化為整數(shù),,我是這樣理解的:把BCD碼的數(shù)值看成為十進(jìn)制數(shù),,然后把BCD到整數(shù)的轉(zhuǎn)化看成是十進(jìn)制數(shù)到十六進(jìn)制數(shù)的轉(zhuǎn)化,。如下圖所示,BCD碼為54,,轉(zhuǎn)化為整數(shù)后為36,。

整數(shù)轉(zhuǎn)化為BCD碼(I_BCD)則正好相反,看成是十六進(jìn)制到十進(jìn)制的轉(zhuǎn)化,。
?。?)整數(shù)轉(zhuǎn)化為雙整數(shù)(I_DI)
此問題需要注意的是:整數(shù)轉(zhuǎn)化為雙整數(shù)后,符號位被擴(kuò)展,,因?yàn)檎麛?shù)的精度小于雙整數(shù)的精度,,轉(zhuǎn)化后,雙整數(shù)除了表示整數(shù)的數(shù)值所占的位外,,其余空位用符號位填充,。如整數(shù)45轉(zhuǎn)化為雙整數(shù)后,基二進(jìn)制表示為:2#0000_0000_0000_0000_0000_0000_0010_1101,,而整數(shù)-45轉(zhuǎn)化為雙整數(shù)后則為:2#1111_1111_1111_1111_1111_1111_1101_0011,。
五、不要重復(fù)使用PLC輸出線圈
基本邏輯指令中常開接點(diǎn)和常閉接點(diǎn),,作為使能的條件,,在語法上和實(shí)際編程中都可以無限次的重復(fù)使用。
PLC輸出線圈,,作為驅(qū)動(dòng)元件,,在語法上是可以無限次的使用。但在實(shí)際編程中是不應(yīng)該的,,應(yīng)該避免使用的,。因?yàn)椋谥貜?fù)使用的輸出線圈中只有程序中后一個(gè)是有效的,,其它都是無效的,。輸出線圈具有后優(yōu)先權(quán)。
如圖1和2所示,。


圖1:輸出線路未重復(fù)使用 圖2:輸出線路未重復(fù)使用
1所示,,輸出線圈Q0.0是單一使用,表示I0.0和I0.1兩個(gè)常開接點(diǎn)中任何一個(gè)閉合,,輸出線圈都得電輸出,。
圖2所示,輸出線圈Q0.0是重復(fù)使用,,在網(wǎng)絡(luò)1和網(wǎng)絡(luò)2中重復(fù)使用兩次,,目的和圖1所示一樣,要求I0.0和I0.1兩個(gè)常開接點(diǎn)中任何一個(gè)閉合,,輸出線圈得電輸出,。
首先需要肯定是圖2所示的程序在語法上是正確的,。但是,Q0.0重復(fù)使用的輸出線圈中,,真正有效的是網(wǎng)絡(luò)2,,網(wǎng)絡(luò)1是多余的、無效的,。也就是說,,I0.0無論是閉合還是斷開,都對Q0.0不起作用,,Q0.0是否得電是由I0.1決定的,。
這是因?yàn)镻LC在一個(gè)掃描周期中,PLC輸出點(diǎn)的刷新是在程序執(zhí)行完畢后執(zhí)行的,,在一個(gè)掃描周期中,,即使I0.0閉
合I0.1斷開,在PLC程序執(zhí)行網(wǎng)絡(luò)1時(shí),,輸出點(diǎn)Q0.0映像存儲器為1,,在執(zhí)行網(wǎng)絡(luò)2時(shí),輸出點(diǎn)Q0.0映像存儲器又變?yōu)?,。程序執(zhí)行完畢,,PLC輸出點(diǎn)才執(zhí)行刷新,終輸出點(diǎn)Q0.0失電不輸出,。同理,,在一個(gè)掃描周期中,I0.0斷開,,I0.1閉合,,輸出點(diǎn)Q0.0映像存儲器終為1,在PLC輸出點(diǎn)執(zhí)行刷新時(shí),,輸出點(diǎn)得電輸出,。因此,圖2所示的程序中,,對Q0.0起作用的只是I0.1,。
因此,在PLC編程時(shí),,重復(fù)使用數(shù)出線圈,。盡管在語法上是正確的,但是應(yīng)該避免使用的,。
幾種置位,、復(fù)位的方法和比較
位置位、復(fù)位操作方法上,有好幾種方法,,可以直接采用置位,、復(fù)位指令,也可以采用數(shù)據(jù)傳送指令,、表格填充指令,甚至可以采用移位循環(huán)指令,。
這幾種方法在具體運(yùn)用時(shí),,也要根據(jù)情況而定。下面用一個(gè)范例來講解他們的不同之處,。要求對Q0.0~0.7,、Q1.0~1.7十六位輸出進(jìn)行置位、復(fù)位,。

圖幾種置位,、復(fù)位的方法
在以上幾種方法中,除移位循環(huán)指令外,,其他指令比較好理解,。
移位循環(huán)指令的方法,置位是對16F十六位常數(shù)左循環(huán)16位,,送入輸出字QW0(由Q0.0~0.7,、Q1.0~1.7組成),無論16F如何循環(huán),,還是16F,,16位輸出。復(fù)位采用對QW0一次掃描周期一次執(zhí)行16位左移位指令,,將QW0中的數(shù)據(jù)全部移出(如果是帶符號位的字,,連符號位也移出),輸出復(fù)位,。
在上面的方法中,,直接采用置位、復(fù)位的方法不僅可以對字節(jié),、字,、雙字中的位進(jìn)行置位、復(fù)位操作,,也可以對不成字節(jié),、字、雙字的位進(jìn)行操作,。而數(shù)據(jù)傳送指令,、移位循環(huán)指令、填充指令只能對字節(jié)、字,、雙字中的位進(jìn)行置位,、復(fù)位操作,其中填充指令還只能對字操作,。
比如單單對Q0.0~0.6七個(gè)位輸出進(jìn)行置位,、復(fù)位,采用數(shù)據(jù)傳送指令,、移位循環(huán)指令,、填充指令是很難實(shí)現(xiàn)的,此時(shí)只有采用直接置位,、復(fù)位指令的方法