❶ plc編程口訣是什麼
plc編程口訣如下:
1、位置控制指令,每次回原點或者開始的瞬間清零當前位置。
2、位置控制在回到原始位置的時候,一定要用回原點指令,不可以走數據。
3、位置控制時,最好用脈沖+方向控制,盡量不要使用雙脈沖。
4、有用到上升沿或下降沿的時候,觸點必須放在輸出線圈的後面。
5、僅有兩個取值,0或1、ON或OFF。
特點:
PLC由繼電控制引入微處理技術後發展而來的,可方便及可靠地用於開關量控制。由於模擬量可轉換成數字量,數字量只是多位的開關量,故經轉換後的模擬量,PLC也完全可以可靠地進行處理控制。
PLC脈沖量的控制目的主要是位置控制、運動控制、軌跡控制等。例如:脈沖數在角度控制中的應用。步進電機驅動器的細分是每圈10000,要求步進電機旋轉90度。那麼所要動作的脈沖數值=10000/(360/90)=2500。
❷ s7—200plc指令功能
S7-200的功能指令很豐富,大致包括這幾方面:算術與邏輯運算、傳送、移位與循環移位、程序流控制、數據表處理、PID指令、數據格式變換、高速處理、通信以及實時時鍾等。
功能指令的助記符與匯編語言相似,略具計算機知識的人學習起來也不會有太大困難。但S7-200系列PLC功能指令畢竟太多,一般讀者不必准確記憶其詳盡用法,需要時可可查閱產品手冊。
表4-20 四則運算指令
名稱
指令格式
(語句表)
功能
操作數定址范圍
加法指令
+I IN1,OUT
兩個16位帶符號整數相加,得到一個16位帶符號整數。
執行結果:IN1+OUT=OUT(在LAD和FBD中為:IN1+IN2=OUT)
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD
IN1和IN2還可以是AIW和常數
+D IN1,IN2
兩個32位帶符號整數相加,得到一個32位帶符號整數。
執行結果:IN1+OUT=OUT(在LAD和FBD中為:IN1+IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2還可以是HC和常數
+R IN1,OUT
兩個32位實數相加,得到一個32位實數。
執行結果:IN1+OUT=OUT(在LAD和FBD中為:IN1+IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2還可以常數
減法指令
-I IN1,OUT
兩個16位帶符號整數相減,得到一個16位帶符號整數。
執行結果:OUT-IN1=OUT(在LAD和FBD中為:IN1-IN2=OUT)
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD
IN1和IN2還可以是AIW和常數
-D IN1,OUT
兩個32位帶符號整數相減,得到一個32位帶符號整數。
執行結果:OUT-IN1=OUT(在LAD和FBD中為:IN1-IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2還可以是HC和常數
-R IN1,OUT
兩個32位實數相加,得到一個32位實數。
執行結果:OUT-IN1=OUT(在LAD和FBD中為:IN1-IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2還可以常數
乘法指令
*I IN1,OUT
兩個16位符號整數相乘,得到一個16整數。
執行結果:IN1*OUT=OUT(在LAD和FBD中為:IN1*IN2=OUT)
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD
IN1和IN2還可以是AIW和常數
MUL IN1,OUT
兩個16位帶符號整數相乘,得到一個32位帶符號整數。
執行結果:IN1*OUT=OUT(在LAD和FBD中為:IN1*IN2=OUT)
IN1,IN2:VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD和常數
OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
*D IN1,OUT
兩個32位帶符號整數相乘,得到一個32位帶符號整數。
執行結果:IN1*OUT=OUT(在LAD和FBD中為:IN1*IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2還可以是HC和常數
*R IN1,OUT
兩個32位實數相乘,得到一個32位實數。
執行結果:IN1*OUT=OUT(在LAD和FBD中為:IN1*IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2還可以是常數
除法指令
/I IN1,OUT
兩個16位帶符號整數相除,得到一個16位帶符號整數商,不保留余數。
執行結果:OUT/IN1=OUT(在LAD和FBD中為:IN1/IN2=OUT)
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW, T,C,AC,*VD,*AC,*LD
IN1和IN2還可以是AIW和常數
DIV IN1,OUT
兩個16位帶符號整數相除,得到一個32位結果,其中低16位為商,高16位為結果。
執行結果:OUT/IN1=OUT(在LAD和FBD中為:IN1/IN2=OUT)
IN1,IN2:VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD和常數
OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
/D IN1,OUT
兩個32位帶符號整數相除,得到一個32位整數商,不保留余數。
執行結果:OUT/IN1=OUT(在LAD和FBD中為:IN1/IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2還可以是HC和常數
/R IN1,OUT
兩個32位實數相除,得到一個32位實數商。
執行結果:OUT/IN1=OUT(在LAD和FBD中為:IN1/IN2=OUT)
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2還可以是常數
數學函數指令
SQRT IN,OUT
把一個32位實數(IN)開平方,得到32位實數結果(OUT)
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN還可以是常數
LN IN,OUT
對一個32位實數(IN)取自然對數,得到32位實數結果(OUT)
EXP IN,OUT
對一個32位實數(IN)取以e為底數的指數,得到32位實數結果(OUT)
SIN IN,OUT
分別對一個32位實數弧度值(IN)取正弦、餘弦、正切,得到32位實數結果(OUT)
COS IN,OUT
TAN IN,OUT
增減指令
INCB OUT
將位元組無符號輸入數加1
執行結果:OUT+1=OUT(在LAD和FBD中為:IN+1=OUT)
IN,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
IN還可以是常數
DECB OUT
將位元組無符號輸入數減1
執行結果:OUT-1=OUT(在LAD和FBD中為:IN-1=OUT)
INCW OUT
將字(16位)有符號輸入數加1
執行結果:OUT+1=OUT(在LAD和FBD中為:IN+1=OUT)
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
IN還可以是AIW和常數
DECW OUT
將字(16位)有符號輸入數減1
執行結果:OUT-1=OUT(在LAD和FBD中為:IN-1=OUT)
INCD OUT
將雙字(32位)有符號輸入數加1
執行結果:OUT+1=OUT(在LAD和FBD中為:IN+1=OUT)
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN還可以是HC和常數
DECD OUT
將字(32位)有符號輸入數減1
執行結果:OUT-1=OUT(在LAD和FBD中為:IN-1=OUT)
表4-21 邏輯運算指令
名稱
指令格式
(語句表)
功能
操作數
位元組邏輯運算指令
ANDB IN1,OUT
將位元組IN1和OUT按位作邏輯與運算,OUT輸出結果
IN1,IN2,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
IN1和IN2還可以是常數
ORB IN1,OUT
將位元組IN1和OUT按位作邏輯或運算,OUT輸出結果
XORB IN1,OUT
將位元組IN1和OUT按位作邏輯異或運算,OUT輸出結果
INVB OUT
將位元組OUT按位取反,OUT輸出結果
字邏輯運算指令
ANDW IN1,OUT
將字IN1和OUT按位作邏輯與運算,OUT輸出結果
IN1,IN2,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
IN1和IN2還可以是AIW和常數
ORW IN1,OUT
將字IN1和OUT按位作邏輯或運算,OUT輸出結果
XORW IN1,OUT
將字IN1和OUT按位作邏輯異或運算,OUT輸出結果
INVW OUT
將字OUT按位取反,OUT輸出結果
雙字邏輯運算指令
ANDD IN1,OUT
將雙字IN1和OUT按位作邏輯與運算,OUT輸出結果
IN1,IN2,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN1和IN2還可以是HC和常數
ORD IN1,OUT
將雙字IN1和OUT按位作邏輯或運算,OUT輸出結果
XORD IN1,OUT
將雙字IN1和OUT按位作邏輯異或運算,OUT輸出結果
INVD OUT
將雙字OUT按位取反,OUT輸出結果
表4-22 數據傳送指令
名稱
指令格式
(語句表)
功能
操作數
單一傳送指令
MOVB IN,OUT
將IN的內容拷貝到OUT中
IN和OUT的數據類型應相同,可分別為字,位元組,雙字,實數
IN,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
IN還可以是常數
MOVW IN,OUT
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
IN還可以是AIW和常數
OUT還可以是AQW
MOVD IN,OUT
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN還可以是HC,常數,&VB,&IB,&QB,&MB,&T,&C
MOVR IN,OUT
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN還可以是常數
BIR IN,OUT
立即讀取輸入IN的值,將結果輸出到OUT
IN:IB
OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
BIW IN,OUT
立即將IN單元的值寫到OUT所指的物理輸出區
IN:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常數
OUT:QB
塊傳送指令
BMB IN,OUT,N
將從IN開始的連續N個位元組數據拷貝到從OUT開始的數據塊
N的有效范圍是1~255
IN,OUT:VB,IB,QB,MB,SB,SMB,LB,*VD,*AC,*LD
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常數
BMW IN,OUT,N
將從IN開始的連續N個字數據拷貝到從OUT開始的數據塊
N的有效范圍是1~255
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,*VD,*AC,*LD
IN還可以是AIW
OUT還可以是AQW
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常數
BMD IN,OUT,N
將從IN開始的連續N個雙字數據拷貝到從OUT開始的數據塊
N的有效范圍是1~255
IN,OUT:VD,ID,QD,MD,SD,SMD,LD, *VD,*AC,*LD
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD和常數
表4-23 移位與循環移位指令
名稱
指令格式
(語句表)
功能
操作數
位元組移位指令
SRB OUT,N
將位元組OUT右移N位,最左邊的位依次用0填充
IN,OUT,N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
IN和N還可以是常數
SLB OUT,N
將位元組OUT左移N位,最右邊的位依次用0填充
RRB OUT,N
將位元組OUT循環右移N位,從最右邊移出的位送到OUT的最左位
RLB OUT,N
將位元組OUT循環左移N位,從最左邊移出的位送到OUT的最右位
字移位指令
SRW OUT,N
將字OUT右移N位,最左邊的位依次用0填充
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
IN還可以是AIW和常數
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常數
SLW OUT,N
將字OUT左移N位,最右邊的位依次用0填充
RRW OUT,N
將字OUT循環右移N位,從最右邊移出的位送到OUT的最左位
RLW OUT,N
將字OUT循環左移N位,從最左邊移出的位送到OUT的最右位
雙字移位指令
SRD OUT,N
將雙字OUT右移N位,最左邊的位依次用0填充
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN還可以是HC和常數
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常數
SLD OUT,N
將雙字OUT左移N位,最右邊的位依次用0填充
RRD OUT,N
將雙字OUT循環右移N位,從最右邊移出的位送到OUT的最左位
RLD OUT,N
將雙字OUT循環左移N位,從最左邊移出的位送到OUT的最右位
位移位寄存器指令
SHRB DATA,S_BIT,N
將DATA的值(位型)移入移位寄存器;S_BIT指定移位寄存器的最低位,N指定移位寄存器的長度(正向移位=N,反向移位=-N)
DATA,S_BIT:I,Q,M,SM,T,C,V,S,L
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常數
表4-24 交換和填充指令
名稱
指令格式
(語句表)
功能
操作數
換位元組指令
SWAP IN
將輸入字IN的高位位元組與低位位元組的內容交換,結果放回IN中
IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
填充指令
FILL IN,OUT,N
用輸入字IN填充從OUT開始的N個字存儲單元
N的范圍為1~255
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
IN還可以是AIW和常數
OUT還可以是AQW
N:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常數
表4-25 表操作指令
名稱
指令格式
(語句表)
功能
操作數
表存數指令
ATT DATA,TABLE
將一個字型數據DATA添加到表TABLE的末尾。EC值加1
DATA,TABLE:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
DATA還可以是AIW,AC和常數
表取數指令
FIFO TABLE,DATA
將表TABLE的第一個字型數據刪除,並將它送到DATA指定的單元。表中其餘的數據項都向前移動一個位置,同時實際填表數EC值減1
DATA,TABLE:VW,IW,QW,MW,SW,SMW,LW,T,C, *VD,*AC,*LD
DATA還可以是AQW和AC
LIFO TABLE,DATA
將表TABLE的最後一個字型數據刪除,並將它送到DATA指定的單元。剩餘數據位置保持不變,同時實際填表數EC值減1
表查找指令
FND= TBL,PTN,INDEX
FND<> TBL,PTN,INDEX
FND< TBL,PTN,INDEX
FND> TBL,PTN,INDEX
搜索表TBL,從INDEX指定的數據項開始,用給定值PTN檢索出符合條件(=,<>,<,>)的數據項
如果找到一個符合條件的數據項,則INDEX指明該數據項在表中的位置。如果一個也找不到,則INDEX的值等於數據表的長度。為了搜索下一個符合的值,在再次使用該指令之前,必須先將INDEX加1
TBL:VW,IW,QW,MW,SMW,LW,T,C, *VD,*AC,*LD
PTN,INDEX:VW,IW,QW,MW,SW,SMW,LW,T,C,AC, *VD,*AC,*LD
PTN還可以是AIW和AC
表4-26 數據轉換指令
名稱
指令格式
(語句表)
功能
操作數
數據類型轉換指令
BTI IN,OUT
將位元組輸入數據IN轉換成整數類型,結果送到OUT,無符號擴展
IN:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常數
OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
ITB IN,OUT
將整數輸入數據IN轉換成一個位元組,結果送到OUT。輸入數據超出位元組范圍(0~255)則產生溢出
IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,*VD,*AC,*LD,常數
OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
DTI IN,OUT
將雙整數輸入數據IN轉換成整數,結果送到OUT。
IN:VD,ID,QD,MD,SD,SMD,LD,HC,AC,*VD,*AC,*LD,常數
OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
ITD IN,OUT
將整數輸入數據IN轉換成雙整數(符號進行擴展),結果送到OUT
IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,*VD,*AC,*LD,常數
OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
ROUND IN,OUT
將實數輸入數據IN轉換成雙整數,小數部分四捨五入,結果送到OUT
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN還可以是常數
在ROUND指令中IN還可以是HC
TRUNC IN,OUT
將實數輸入數據IN轉換成雙整數,小數部分直接捨去,結果送到OUT
DTR IN,OUT
將雙整數輸入數據IN轉換成實數,結果送到OUT
IN,OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
IN還可以是HC和常數
BCDI OUT
將BCD碼輸入數據IN轉換成整數,結果送到OUT。IN的范圍為0~9999
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*AC,*LD
IN還可以是AIW和常數
AC和常數
IBCD OUT
將整數輸入數據IN轉換成BCD碼,結果送到OUT。IN的范圍為0~9999
編碼解碼指令
ENCO IN,OUT
將位元組輸入數據IN的最低有效位(值為1的位)的位號輸出到OUT指定的位元組單元的低4位
IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,*VD,*AC,*LD,常數
OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
DECO IN,OUT
根據位元組輸入數據IN的低4位所表示的位號將OUT所指定的字單元的相應位置1,其它位置0
IN:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD,常數
IN:VW,IW,QW,MW,SW,SMW,LW,T,C,AQW,AC,*VD,*AC,*LD
段碼指令
SEG IN,OUT
根據位元組輸入數據IN的低4位有效數字產生相應的七段碼,結果輸出到OUT,OUT的最高位恆為0
IN,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
IN還可以是常數
字元串轉換指令
ATH IN,OUT,LEN
把從IN開始的長度為LEN的ASCⅡ碼字元串轉換成16進制數,並存放在以OUT為首地址的存儲區中。合法的ASCⅡ碼字元的16進制值在30H~39H,41H~46H之間,字元串的最大長度為255個字元
IN,OUT,LEN:VB,IB,QB,MB,SB,SMB,LB,*VD,*AC,*LD
LEN還可以是AC和常數
表4-27 特殊指令
名稱
指令格式
(語句表)
功能
操作數
中斷指令
ATCH INT,EVNT
把一個中斷事件(EVNT)和一個中斷程序聯系起來,並允許該中斷事件
INT:常數
EVNT:常數(CPU221/222:0~12,19~23,27~33;CPU224:0~23,27~33;CPU226:0~33)
DTCH EVNT
截斷一個中斷事件和所有中斷程序的聯系,並禁止該中斷事件
ENI
全局地允許所有被連接的中斷事件
無
DISI
全局地關閉所有被連接的中斷事件
CRETI
根據邏輯操作的條件從中斷程序中返回
RETI
位於中斷程序結束,是必選部分,程序編譯時軟體自動在程序結尾加入該指令
通信指令
NETR TBL,PORT
初始化通訊操作,通過指令埠(PORT)從遠程設備上接收數據並形成表(TBL)。可以從遠程站點讀最多16個位元組的信息
TBL:VB,MB,*VD,*AC,*LD
PORT:常數
NETW TBL,PORT
初始化通訊操作,通過指定埠(PORT)向遠程設備寫表(TBL)中的數據,可以向遠程站點寫最多16個位元組的信息
XMT TBL,PORT
用於自由埠模式。指定激活發送數據緩沖區(TBL)中的數據,數據緩沖區的第一個數據指明了要發送的位元組數,PORT指定用於發送的埠
TBL:VB,IB,QB,MB,SB,SMB,*VD,*AC,*LD
PORT:常數(CPU221/222/224為0;CPU226為0或1)
RCV TBL,PORT
激活初始化或結束接收信息的服務。通過指定埠(PORT)接收的信息存儲於數據緩沖區(TBL),數據緩沖區的第一個數據指明了接收的位元組數
GPA ADDR,PORT
讀取PORT指定的CPU口的站地址,將數值放入ADDR指定的地址中
ADDR:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
在SPA指令中ADDR還可以是常數
PORT:常數
SPA ADDR,PORT
將CPU口的站地址(PORT)設置為ADDR指定的數值
時鍾指令
TODR T
讀當前時間和日期並把它裝入一個8位元組的緩沖區(起始地址為T)
T:VB,IB,QB,MB,SB,SMB,LB,*VD,*AC,*LD
TODW T
將包含當前時間和日期的一個8位元組的緩沖區(起始地址是T)裝入時鍾
高速計數器指令
HDEF HSC,MODE
為指定的高速計數器分配一種工作模式。每個高速計數器使用之前必須使用HDEF指令,且只能使用一次
HSC:常數(0~5)
MODE:常數(0~11)
HSC N
根據高速計數器特殊存儲器位的狀態,按照HDEF指令指定的工作模式,設置和控制高速計數器。N指定了高速計數器號
N:常數(0~5)
高速脈沖輸出指令
PLS Q
檢測用戶程序設置的特殊存儲器位,激活由控制位定義的脈沖操作,從Q0.0或Q0.1輸出高速脈沖
可用於激活高速脈沖串輸出(PTO)或寬度可調脈沖輸出(PWM)
Q:常數(0或1)
PID迴路指令
PID TBL,LOOP
運用迴路表中的輸入和組態信息,進行PID運算。要執行該指令,邏輯堆棧頂(TOS)必須為ON狀態。TBL指定迴路表的起始地址,LOOP指定控制迴路號
迴路表包含9個用來控制和監視PID運算的參數:過程變數當前值(PVn),過程變數前值(PVn-1),給定值(SPn),輸出值(Mn),增益(Kc),采樣時間(Ts),積分時間(Ti),微分時間(Td)和積分項前值(MX)
為使PID計算是以所要求的采樣時間進行,應在定時中斷執行中斷服務程序或在由定時器控制的主程序中完成,其中定時時間必須填入迴路表中,以作為PID指令的一個輸入參數
TBL
❸ PLC編程的入門
PLC是一種在工業中被廣泛應用的自動控制元件。然而PLC應用與編程人才短缺已經成為制約我國自動控制領域發展的瓶頸。通過學習PLC可編程式控制制器程序設計使學員掌握可編程序控制器的工作原理和PLC控制系統硬體軟體的設計方法,可編寫復雜的PLC程序,為從事PLC控制系統的設計、調試和改造工作打下基礎。可以獨立承擔相關項目的設計與開發。讓您由一位電工升級為貨真價實的工程師!
隨著現代工業設備自動化,越來越多的工廠設備將採用PLC人機界面等自動化器件來控制,因此設備自動化程度越來越高。對設備的維護人員的技術要求越來越嚴格。作為一名合格的技術員,需要掌握的技能也越來越多,越來越全面性,以此來滿足自動化的發展及要求,學習PLC編程一點也不難。有的初學者在理論上花了很多功夫,結果半年下來還是沒有把PLC搞懂,其實他們只是缺少了一些PLC的實踐經驗,只要再進行一些實際的梯形圖編寫、程序下載、調試等操作,增加對PLC的感性認識,很快就可以掌握PLC這項技術了。開始階段可以先學習一種品牌的PLC,因為所有的PLC原理都是差不多的,掌握了一種PLC其它的只要翻閱一下手冊也就能上手使用了。初學時可以編一些簡單的梯形圖,如觸點的與、或、輸出等,在PLC的機器里運行一下。成功了就會增加你學習的興趣、和信心。然後再把PLC的主要功能逐個運用一次,比如高速計數器,你可以用PLC本身的脈沖輸出端接到高速計數器的輸入端,下載編好的梯形圖,打開變數觀察窗口,運行程序,觀察計數的值是否正確。經過了這樣的實踐,你基本上知道PLC到底能做哪些事情了,在實際的工控應用中就能做到胸有成竹了。1.電工原理和電機原理一定要懂,簡單的就記背也要背下來,比如馬達容量1KW2A,正反轉,星三角接線,電線容量。電阻,電感,電容的特性等2.液壓和氣動也要掌握,比如壓力換算,壓力和電流的比例換算,這在有壓力控制上都要用到3. 電線截面要會看,線拿到手就知道幾平方的,還有什麼電器上該用什麼線,比如馬達就用4線的,3根主線1根接地。從變頻器上出來的要用屏蔽線。4. 機修也要會做,特別是螺絲,一看就知道用幾的內角扳手或外六角扳手(別小看了它,平常維修固定螺絲是少不了它的,這樣能節約時間)5. PLC編程自己可以模擬編,簡單的如紅綠燈,控制小車走等6. 做人要會做,要謙虛,不可能你樣樣都會。7. 心態要好,保持一顆平常的心8. 平常要多干,就是在苦在累也要,這樣技術才能學到手能解決實際問題,反之你只不過是紙上談兵對於做項目的1. 四大常用PLC要會,基本指令和功能指令要熟2. 通訊介面要懂3.電氣市場行情要熟,好的和壞的要會區分,列如買到個2手40點的PLC怎麼判斷它是好的呢?4.變頻器和單片機要懂,變頻調速和伺服控制要懂5. 常用電器元件和感測器要知道6. 要會CAD電氣制圖。
PLC掃描周期和響應時間
PLC在運行狀態時,執行一個掃描操作所需要的時間為一個周期,這個是PLC的重要指標之一,其值為0.5~100ms。
掃描周期T=(輸入—點時間*輸入端子數)+(指令執行速度*指令的條數)+(輸出一點時間*輸出端子數)+故障診斷時間+通訊時間
從上式可看出,掃描周期已經決定了:
1.CPU執行指令的速度
2.執行每條指令所佔用的時間
3.程序中指令條數的多少
指令執行所需的時間和用戶程序的長短、指令的種類和CPU執行速度是有很大關系,一般來說,一個掃描的過程中,故障診斷時間,通信時間,輸入采樣和輸出刷新所佔的時間較少,執行的時間是佔了絕大部分。
PLC的響應時間是指PLC外部輸出信號的改變時刻起止由它控制的有關外部輸出信號變化的時刻之間的間隔,稱為滯後時間,這個是由輸入電路時間常數,輸出電路的時間常數,用戶語句的安排和指令的使用,plc的循環掃描方式及PLC對I/O的刷新方式等部分組成。這個現象稱為I/O延遲時間效應。
由於PLC的這種周期循環掃描工作方式,決定了相應時間的長短與收到輸入信號的時刻有關。相應時間就分為最短和最長。
(1)最短的響應時間
如果在一個掃描周期剛結束之前收到一個輸入信號,在下一個掃描周期之前輸入采樣階段,這個信號也就被采樣,是輸入更新,這個響應時間最短。
(2)最長響應時間
如果收到的是一個輸入信號經輸入延遲後,剛好錯過了I/O刷新的時間,在該周期內輸入信號就被視為無效,就要等下一個掃描周期才會被讀入,這個時間是最長的了。
❹ 三菱plc編程指令
展開全部
以下是三菱plc常用的指令,還有不懂的可以問我一程序流程式控制制指令—FNC00~09
00CJ條件轉移
01CALL子程序調用
02SRET子程序返回
03IRET中斷返回
04EI開中斷
05DI關中斷
06FEND主程序結束
07WDT監控定時器刷新
08FOR循環開始
09NEXT循環結束
二傳送、比較指令—FNC10~19BIN----二進制BCD----十進制
10CMP比較
11ZCP區間比較
12MOV傳送
13SMOVBCD碼移位傳送
14CML取反傳送
15BMOV數據塊傳送(n點→n點)
16FMOV多點傳送(1點→n點)
17XCH數據交換,(D0)←→(D2)
18BCDBCD變換,BIN→BCD
19BINBIN變換,BCD→BIN
三算術、邏輯運算指令—FNC20~29BIN----二進制BCD----十進制
20ADDBIN加法
21SUBBIN減法
22MULBIN乘法
23DIVBIN除法
24INCBIN加一
25DECBIN減一
26WAND字與
27WOR字或
28WXOR字異或
29NEG求BIN補碼
四循環、移位指令—FNC30~39
30ROR循環右移
31ROL循環左移
32RCR帶進位循環右移
33RCL帶進羨沖位循環左移
34SFTR位右移
35SFTL位左移
36WSFR字右移
37WSFL字左移
38SFWRFIFO寫入
39SFRDFIFO讀出
五數據處理指令—FNC40~49
40ZRST區間復位
41DECO解碼
42ENCO編碼
43SUM求置ON位總數
44BONON位判別
45MEAN求平均值
46ANS信號報警器標志置位
47ANR信號報警器標志復位
48SQRBIN平方根
49FLTBIN整數→BIN浮點數六高速處理指令—FNC50~59
50REF輸入輸出刷新
51REFF輸入濾波時間常數調整
52MTR矩陣輸入
53HSCS高速記數器比較置位
54HSCR高速記數器比較復位
55HSZ高速記數器區間比較
56SPD速度檢測
57PLSY脈沖輸出
58PWM脈沖寬度調制
59PLSR帶加減速功能的脈沖輸出
七方便指令—FNC60~69
60IST狀態初始化
61SER數據搜索
62ABSD絕對值凸輪順控
63INCD增量凸輪順控
64TTMR示教定時器
65STMR專用定時器—可定義
66ALT交替輸出
67RAMP斜坡輸出
68ROTC旋轉工兄枯殲作台控制
69SORT數據排序
八外部I/O設備指令—FNC70~79
70TKY10鍵輸入
71HKY16鍵輸入
72DSW撥碼開關輸入
73SEGD七段解碼
74SEGL帶鎖存的七段碼顯示
75ARWS方向開關
76ASCASCII碼轉換
77PR列印輸出
78FROM讀特殊功能模塊
79TO寫特殊功能模塊
九外圍設備指令—FNC80~89
80RSRS-232C串列通訊
81PRUN並行運行
82ASCI十六進制→ASCII
83HEXASCII→十六進制
84CCD校驗碼
85VRRD電位器讀入
86VRSC電位器設定
88PIDPID控制
十F2外部模塊指令—FNC90~99
90MNETF-16N,Mini網
91ANRDF2-6A,模擬量輸入
92ANW**2-6*,模擬量輸出
93RMSTF2-32RM,啟動RM
94RMWRF2-32RM,寫RM
95RMRDF2-32RM,讀RM
96RMMNF2-32RM,監控RM
97BLKF2-30GM,指定塊
98MCDEF2-30GM,機器碼十一浮點數運算指令—FNC110~132
110ECMPBIN浮點數比較
111EZCPBIN浮點數區間比較
118EBCDBIN浮點數→BCD浮點數
119EBINBCD浮點數→BIN浮點數
120EADDBIN浮點數加法
121ESUBBIN浮點數減法
122EMULBIN浮點數乘法
123EDIVBIN浮點數除法
127ESQRBIN浮點數開方
129INTBIN浮點數→BIN整數
130SINBIN浮點數正弦函數(SIN)
131COSBIN浮點數餘弦函數(COS)
132TANBIN浮點數正切函數(TAN)
十二交換指令—FNC147
147SWAP高低位元組交換
十三定位指令—FNC155~159
155ABS讀當前絕敗好對值位置
156ZRN返回原點
157PLSY變速脈沖輸出
158DRVI增量式單速位置控制
159DRVA絕對式單速位置控制
十四時鍾運算指令—FNC160~169
160TCMP時鍾數據比較
161TZCP時鍾數據區間比較
162TADD時鍾數據加法
163TSUB時鍾數據減法
166TRD時鍾數據讀出
167TWR時鍾數據寫入
169HOUR小時定時器
十五變換指令—FNC170~177
170GRY二進制數→格雷碼
171GBIN格雷碼→二進制數
176RD3A讀FXon-3A模擬量模塊
177WR3A寫FXon-3A模擬量模塊
十六觸點比較指令—FNC224~246
224LD=(S1)=(S2)時運算開始之觸點接通
225LD>(S1)>(S2)時運算開始之觸點接通
226LD<(S1)<(S2)時運算開始之觸點接通
228LD<>(S1)≠(S2)時運算開始之觸點接通
229LD≤(S1)≤(S2)時運算開始之觸點接通
230LD≥(S1)≥(S2)時運算開始之觸點接通
232AND=(S1)=(S2)時串聯觸點接通
233AND>(S1)>(S2)時串聯觸點接通
234AND<(S1)<(S2)時串聯觸點接通
236AND<>(S1)≠(S2)時串聯觸點接通
237AND≤(S1)≤(S2)時串聯觸點接通
238AND≥(S1)≥(S2)時串聯觸點接通
240OR=(S1)=(S2)時並聯觸點接通
241OR>(S1)>(S2)時並聯觸點接通
242OR<(S1)<(S2)時並聯觸點接通
244OR<>(S1)≠(S2)時並聯觸點接通
245OR≤(S1)≤(S2)時並聯觸點接通
246OR≥(S1)≥(S2)時並聯觸點接通
以下是三菱plc常用的指令,還有不懂的可以問我一程序流程式控制制指令—FNC00~0900CJ條件轉移01CALL子程序調用02SRET子程序返回03IRET中斷返回04EI