[PLC] ST 语言 VIII:ADD_SUB_MUL_DIV_INC_DEC_WAND_WOR_WXOR_NE
一:ADD_SUB_MUL_DIV_INC_DEC_WAND_WOR_WXOR_NEG
说明:简单的顺控指令不做其他说明。
控制要求:无
编程梯形图:
执行程序主程序梯形图和对应的局部变量
执行程序主程序ST语言和对应的局部变量
FB块梯形图程序和对应的局部变量
FB块ST语言和对应的局部变量
结构化编程ST语言(图片中的源码):
FB块调用的ST语言
(*ST语言调用四则运算的FB块的方法,其中除法运算中商和余数包含了结构体和数组的使用方法*)
ST四则逻辑运算_1(智慧工控_ST_加数1:= ST_加数1 , 智慧工控_ST_加数2:= ST_加数2 , 智慧工控_ST_加结果1:=ST_加结果1 , 智慧工控_ST_调用加法:= ST_调用加法 ,
智慧工控_ST_减数1:=ST_减数1 , 智慧工控_ST_减数2:=ST_减数2 , 智慧工控_ST_减结果1:=ST_减结果1 , 智慧工控_ST_调用减法:=ST_调用减法 ,
智慧工控_ST_乘数1:=ST_乘数1 , 智慧工控_ST_乘数2:=ST_乘数2 , 智慧工控_ST_乘结果1:=ST_乘结果1 , 智慧工控_ST_调用乘法:=ST_调用乘法 ,
智慧工控_ST_除数1:= ST_除数1 , 智慧工控_ST_除数2:=ST_除数2 , 智慧工控_ST_调用除法:=ST_调用除法 , 智慧工控_ST_除法结果:= ST_除法结果.ST结果商1和余数1 ,
智慧工控_ST_调用加一:= ST_长通 , 智慧工控_ST_加一结果:= ST_加一结果,
智慧工控_ST_调用减一:= ST_调用减一, 智慧工控_ST_减一结果:= ST_减一结果 ,
智慧工控_ST_调用逻辑与:= ST_调用逻辑与, 智慧工控_ST_逻辑与数据1:= ST_逻辑与数据1 , 智慧工控_ST_逻辑与数据2:= ST_逻辑与数据2, 智慧工控_ST_逻辑与结果:= ST_逻辑或结果 ,
智慧工控_ST_调用逻辑或:= ST_调用逻辑或 , 智慧工控_ST_逻辑或数据1:= ST_逻辑或数据1 , 智慧工控_ST_逻辑或数据2:= ST_逻辑或数据2, 智慧工控_ST_逻辑或结果:= ST_逻辑或结果 ,
智慧工控_ST_调用逻辑异或:= ST_调用逻辑异或 , 智慧工控_ST_逻辑异或数据1:= ST_逻辑异或数据1 , 智慧工控_ST_逻辑异或数据2:= ST_逻辑异或数据2 , 智慧工控_ST_逻辑异或结果:= ST_逻辑异或结果 ,
智慧工控_ST_调用补码:= ST_调用补码 , 智慧工控_ST_补码结果:= ST_补码结果 );
FB块中的ST语言
(*加法运算ADDP(EN,s1,s2,d);*)
ADDP(智慧工控_ST_调用加法,智慧工控_ST_加数1,智慧工控_ST_加数2,智慧工控_ST_加结果1);
(*减法运算SUBP(EN,s1,s2,d);*)
SUBP(智慧工控_ST_调用减法,智慧工控_ST_减数1,智慧工控_ST_减数2,智慧工控_ST_减结果1);
(*乘法运算MULP(EN,s1,s2,d);*)
MULP(智慧工控_ST_调用减法,智慧工控_ST_乘数1,智慧工控_ST_乘数2,智慧工控_ST_乘结果1);
(*除法运算DIVP(EN,s1,s2,d);*)
DIVP(智慧工控_ST_调用除法,智慧工控_ST_除数1,智慧工控_ST_除数2,智慧工控_ST_除法结果);
(*加一运算INCP(EN,d);*)
INCP(智慧工控_ST_调用加一,智慧工控_ST_加一结果);
(*减一运算DECP(EN,d);*)
DECP(智慧工控_ST_调用减一,智慧工控_ST_减一结果);
(*逻辑与运算WANDP(EN,s1,s2,d1);*)
WANDP(智慧工控_ST_调用逻辑与,智慧工控_ST_逻辑与数据1,智慧工控_ST_逻辑与数据2,智慧工控_ST_逻辑与结果);
(*逻辑或运算WORP(EN,s1,s2,d1);*)
WORP(智慧工控_ST_调用逻辑或,智慧工控_ST_逻辑或数据1,智慧工控_ST_逻辑或数据2,智慧工控_ST_逻辑或结果);
(*逻辑异或运算DIVP(EN,s1,s2,d);*)
WXORP(智慧工控_ST_调用逻辑异或,智慧工控_ST_逻辑异或数据1,智慧工控_ST_逻辑异或数据2,智慧工控_ST_逻辑异或结果);
(*补码运算NEGP(EN,d);*)
NEGP(智慧工控_ST_调用补码,智慧工控_ST_补码结果);
;
上一篇: 堆栈数据结构详解(C 语言手撕版)
下一篇: 高级数据结构:ST 表
推荐阅读
-
[PLC] ST 语言 II:LDP_LDF_ANDP_ANDF_ORP_ORF
-
CodeSys PLC 编程指南(ST 语言) @喜欢
-
[PLC] ST 语言 VII:MOV_SMOV_CML_BMOV_FMOV_XCH_BCD_BIN
-
[PLC] ST 语言 III:OUT/OUT_T/OUT_C/OUT_C-C32
-
[PLC] ST 语言 I:LD_LDI_AND_ANI_OR_ORI
-
[PLC] ST 语言 VIII:ADD_SUB_MUL_DIV_INC_DEC_WAND_WOR_WXOR_NE
-
在 PLC 编程中使用 ST 语言运算符
-
[PLC] ST 语言 IV:INV_MEP_MEF_PLS_PLF_MC_MCR - 结构化编程 ST 语言:
-
[PLC] ST 语言 II: LDP_LDF_ANDP_ANDF_ORP_ORF - 结构化编程 ST 语言:
-
用 ST 语言编写 PLC 中的几条程序流程控制语句