一、時(shí)間繼電器:
TON 使能=1計(jì)數(shù),計(jì)數(shù)到設(shè)定值時(shí)(一直計(jì)數(shù)到32767),定時(shí)器位=1。使能=0復(fù)位(定時(shí)器位=0)。
TOF 使能=1,定時(shí)器位=1,計(jì)數(shù)器復(fù)位(清零)。使能由1到0負(fù)跳變,計(jì)數(shù)器開始計(jì)數(shù),到設(shè)定值時(shí)(停止計(jì)數(shù)),定時(shí)器位=0。
TONR 使能=1,計(jì)數(shù)器開始計(jì)數(shù),計(jì)數(shù)到設(shè)定值時(shí),計(jì)數(shù)器位=1。使能斷開,計(jì)數(shù)器停止計(jì)數(shù),計(jì)數(shù)器位仍為1,使能位再為1時(shí),計(jì)數(shù)器在原來的計(jì)數(shù)基礎(chǔ)上計(jì)數(shù)。
以上三種計(jì)數(shù)器可以通過復(fù)位指令復(fù)位。
正交計(jì)數(shù)器 A相超前B相90度,增計(jì)數(shù)
B相超前A相90度,減計(jì)數(shù)
當(dāng)要改變計(jì)數(shù)方向時(shí)(增計(jì)數(shù)或減計(jì)數(shù)),只要A相和B相的接線交換一下就可以了。
二、譯碼指令和編碼指令:
DECO是將VW2000的第十位置零(為十進(jìn)制的1024),ENCO輸入IN*低位為1的是第3位,把3寫入VB10(二進(jìn)制11)。
三、填表指令(ATT)
S7-200填表指令(ATT)的使能端(EN)必須使用一個(gè)上升沿或下降沿指令(即在下圖的I0.1后加一個(gè)上升沿或下降沿)。
這一點(diǎn)在編程手冊(cè)中也沒有說明,需要注意。其他的表格指令也同樣。
四、數(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)
BCD碼轉(zhuǎn)化為整數(shù),我是這樣理解的:把BCD碼的數(shù)值看成為十進(jìn)制數(shù),然后把BCD到整數(shù)的轉(zhuǎn)化看成是十進(jìn)制數(shù)到十六進(jìn)制數(shù)的轉(zhuǎn)化。整數(shù)轉(zhuǎn)化為BCD碼(I_BCD)則正好相反,看成是十六進(jìn)制到十進(jìn)制的轉(zhuǎn)化。
(2)整數(shù)轉(zhuǎn)化為雙整數(shù)(I_DI)
此問題需要注意的是:整數(shù)轉(zhuǎn)化為雙整數(shù)后,符號(hào)位被擴(kuò)展,因?yàn)檎麛?shù)的精度小于雙整數(shù)的精度,轉(zhuǎn)化后,雙整數(shù)除了表示整數(shù)的數(shù)值所占的位外,其余空位用符號(hào)位填充。如整數(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)。
PLC在一個(gè)掃描周期中,PLC輸出點(diǎn)的刷新是在程序執(zhí)行完畢后執(zhí)行的,在一個(gè)掃描周期中,即使I0.0閉合,I0.1斷開,在PLC程序執(zhí)行網(wǎng)絡(luò)1時(shí),輸出點(diǎn)Q0.0映像存儲(chǔ)器為1,在執(zhí)行網(wǎng)絡(luò)2時(shí),輸出點(diǎn)Q0.0映像存儲(chǔ)器又變?yōu)?。程序執(zhí)行完畢,PLC輸出點(diǎn)才執(zhí)行刷新,*終輸出點(diǎn)Q0.0失電不輸出。同理,在一個(gè)掃描周期中,I0.0斷開,I0.1閉合,輸出點(diǎn)Q0.0映像存儲(chǔ)器*終為1,在PLC輸出點(diǎn)執(zhí)行刷新時(shí),輸出點(diǎn)得電輸出。
因此,在PLC編程時(shí),重復(fù)使用輸出線圈。盡管在語法上是正確的,但是應(yīng)該避免使用的。
幾種置位、復(fù)位的方法和比較
位置位、復(fù)位操作方法上,有好幾種方法,可以直接采用置位、復(fù)位指令,也可以采用數(shù)據(jù)傳送指令、表格填充指令,甚至可以采用移位循環(huán)指令。
這幾種方法在具體運(yùn)用時(shí),也要根據(jù)情況而定。下面用一個(gè)范例來講解他們的不同之處。要求對(duì)Q0.0~0.7、Q1.0~1.7十六位輸出進(jìn)行置位、復(fù)位。
移位循環(huán)指令的方法,置位是對(duì)16#FFFF十六位常數(shù)左循環(huán)16位,送入輸出字QW0(由Q0.0~0.7、Q1.0~1.7組成),無論16#FFFF如何循環(huán),還是16#FFFF,16位輸出。復(fù)位采用對(duì)QW0一次掃描周期一次執(zhí)行16位左移位指令,將QW0中的數(shù)據(jù)全部移出(如果是帶符號(hào)位的字,連符號(hào)位也移出),輸出復(fù)位。
在上面的方法中,直接采用置位、復(fù)位的方法不僅可以對(duì)字節(jié)、字、雙字中的位進(jìn)行置位、復(fù)位操作,也可以對(duì)不成字節(jié)、字、雙字的位進(jìn)行操作。而數(shù)據(jù)傳送指令、移位循環(huán)指令、填充指令只能對(duì)字節(jié)、字、雙字中的位進(jìn)行置位、復(fù)位操作,其中填充指令還只能對(duì)字操作。
比如單單對(duì)Q0.0~0.6七個(gè)位輸出進(jìn)行置位、復(fù)位,采用數(shù)據(jù)傳送指令、移位循環(huán)指令、填充指令是很難實(shí)現(xiàn)的,此時(shí)只有采用直接置位、復(fù)位指令的方法。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“機(jī)電號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of JDZJ Hao, which is a social media platform and only provides information storage services.