西门子6SN电源模块6SN1123-1AA00-0JA1(1)加法指令ADD (D)ADD(P)指令的编号为FNC20。
它是将的源元件中的二进制数相加结果送到的目标元件中去。
如图1所示,当X0为ON时,执行(D10)+(D12)→(D14)。
图1 加法指令的使用(2)减法指令SUB (D)SUB(P)指令的编号为FNC21。
它是将[S1.]元件中的内容以二进制形式减去[S2.]元件的内容,其结果存入由[D.]的元件中。
如图2所示,当X0为ON时,执行(D10)—(D12)→(D14)。
图2 减法指令的使用使用加法和减法指令时应该注意:1)操作数可取所有数据类型,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z.。
2)16位运算占7个程序步,32位运算占13个程序步。
3)数据为有符号二进制数,*高位为符号位(0为正,1为负)。
4)加法指令有三个标志:零标志(M8020)、借位标志(M8021)和进位标志(M8022)。
当运算结果超过32767(16位运算)或2147483647(32位运算)则进位标志置1;当运算结果小于-32767(16位运算)或-2147483647(32位运算),借位标志就会置1。
(3)乘法指令MUL (D) MUL (P)指令的编号为FNC22。
数据均为有符号数。
如图3所示,当X0为ON时,将二进制16位数[S1.]、[S2.]相乘,结果送[D.]中。
D为32位,即(D0)×(D2)→(D5,D4)(16位乘法);当X1为ON时,(D1,D0)×(D3,D2)→(D7,D6,D5,D4)(32位乘法)。
图3 乘法指令的使用(4)除法指令DIV (D) DIV (P)指令的编号为为FNC23。
其功能是将[S1.]为被除数,[S2.]为除数,将除得的结果送到[D.]的目标元件中,余数送到[D.]的下一个元件中。
如图4所示,当X0为ON时(D0)÷(D2)→(D4)商,(D5)余数(16位除法);当X1为ON时(D1,D0)÷(D3,D2)→(D5,D4)商,(D7,D6)余数(32位除法)。
图4 除法指令的使用使用乘法和除法指令时应注意:1)源操作数可取所有数据类型,目标操作数可取KnY、KnM、KnS、T、C、D、V和Z.,要注意Z只有16位乘法时能用,32位不可用。
2)16位运算占7程序步,32位运算为13程序步。
3)32位乘法运算中,如用位元件作目标,则只能得到乘积的低32位,高32位将丢失,这种情况下应先将数据移入字元件再运算;除法运算中将位元件为[D.],则无法得到余数,除数为0时发生运算错误。
4)积、商和余数的*高位为符号位。
(5)加1和减1指令 加1指令(D) INC (P)的编号为FNC24;减1指令 (D) DEC (P)的编号为FNC25。
INC和DEC指令分别是当条件满足则将元件的内容加1或减1。
如图5所示,当X0为ON时,(D10)+1→(D10);当X1为ON时,(D11)+1→(D11)。
若指令是连续指令,则每个扫描周期均作一次加1或减1运算。
图5 加1和减1指令的使用使用加1和减1指令时应注意:1)指令的操作数可为KnY、KnM、KnS、T、C、D、V、Z;。
2)当进行16位操作时为3个程序步,32位操作时为5个程序步。
3)在INC运算时,如数据为16位,则由+32767再加1变为-32768,但标志不置位;同样,32位运算由+2147483647再加1就变为-2147483648时,标志也不置位。
4)在DEC运算时,16位运算-32768减1变为+32767,且标志不置位;32位运算由-2147483648减1变为=2147483647,标志也不置位 1. LD / LDI 取/取反指令Ø 功能:取单个常开/常闭触点与母线(左母线、分支母线等)相连接 2. OUT 驱动线圈(输出)指令Ø 功能:驱动线圈。
3. AND / ANI 与/与反指令Ø 功能:串联单个常开/常闭触点4. OR / ORI 或/或反指令Ø 功能:并联单个常开/常闭触点5. END 结束指令Ø 放在全部程序结束处,程序运行时执行第一步至END之间的程序。