[PLC]ST语言五:STL/RET/CMP/ZCP】的更多相关文章

一:STL/RET/CMP/ZCP 说明:简单的顺控指令不做其他说明. 控制要求:无 编程梯形图: 结构化编程ST语言: (*步进指令STL(EN,s);*) SET(M8002,S3); STL(TRUE,S3) M419:=TRUE; OUT_T(TRUE,TC0,K10); SET(TS0,S20); STL(TRUE,S20); M420:=TRUE; OUT_T(TRUE,TC1,K15); S3:=TS1; (*步进指令RET(EN);*) RET(TRUE); (*比较指令CMP(…
一:INV_MEP_MEF_PLS_PLF_MC_MCR 说明:简单的顺控指令不做其他说明. 控制要求:无 编程梯形图: 结构化编程ST语言: (*运算结果的反转INV(EN);*) M415:=inv(M16); (*运算结果的上升沿时为ON MEP(EN);*) SET(MEP(M17),M416); (*运算结果的下降沿时为ON MEF(EN);*) RST(MEF(M18),M416); (*上升沿的微分输出PLS(EN,d)*) PLS(M18,M417); (*下降沿的微分输出PLF…
一:MOV/SMOV/CML/BMOV/FMOV/XCH/BCD/BIN 说明:简单的顺控指令不做其他说明. (MOV)控制要求:无 (MOV)编程梯形图: (MOV)结构化编程ST语言: (*传送指令MOV(EN,s,d);*) MOV(M49,K100,D54); MOV(NOT M49,K50,D54); (*位移动SMOV(EN,s,m1,m2,n,d);*) BIN(M8000, K2M50, D56); BIN(M8000, K1M60, D55); SMOV(M8000, D55,…
一:DI/EI/FEND/WDT/FOR/NEXT 说明:简单的顺控指令不做其他说明. 控制要求:无 编程梯形图: 结构化编程ST语言:…
一:OUT/OUT_T/OUT_C/OUT_C-C32               说明:简单的顺控指令不做其他说明. 控制要求:无 编程梯形图: 结构化编程ST语言: (*OUT(EN,D);*) OUT(M9,M408);(*代入语句M408:=M9;*) M409:=NOT M10;(*代入语句OUT(NOT M10,M409)*) OUT(M11,M411); M412:=M11; OUT(M12,D0.0); (*OUT_T(EN,Tcoil,TValue)*) OUT_T(M13,T…
一:LDP_LDF_ANDP_ANDF_ORP_ORF基本指令 说明:简单的顺控指令不做其他说明. 控制要求:无 编程梯形图: 结构化编程ST语言: (*LDP(EN,s)/ORP(EN,S)*) M404:=ORP(LDP(TRUE,M4),M5); (*ANDP(EN,s)*) M405;=ANDP(M8000,M6); (*LDF(EN,s)/ORF(EN,s)*) M406:=ORF(LDF(TRUE,M7),M6); (*ANDF(EN,s)*) M407:=ANDF(M8000,M8…
一:LD_LDI_AND_ANI_OR_ORI基本指令 说明:简单的顺控指令不做其他说明. 控制要求:无 编程梯形图: 结构化编程ST语言: M400:=(M0 OR M1) AND M2; M401:=(M0 OR M1)AND M2 AND NOT M3; M402:=(NOT M0 OR NOT M1)AND NOT M2; M403:=(NOT M0 OR NOT M1)AND NOT M2 AND M3;…
ST语言是IEC61131-3中规定的5中标准语言之一,目前常用见品牌的PLC都支持这种语言(施耐德,AB可以直接选择创建该类型的程序段或者功能块,西门子的略微麻烦一点),ST语言的一个好处是移植性好,各家的ST语言基本都是类似的,所以如果有一个巨牛逼的算法,用ST语言实现是再好不过的了,这样可以很容易的在多个品牌的PLC上移植,当前,有个前提条件是在这个算法中不要使用太多的系统功能块,因为系统功能块往往都是各个品牌比较个性的东西,会给移植带来麻烦.另外,ST语言最适合写一些复杂的算法,个人觉得…
假如我定义了一个MC_Power的标准功能块,我想知道它对应的ST语言   在MAIN(ST语言界面下)右击,Input Assistant,然后找到Standard Function Blocks,找到TcMC.lib下面的对应模块(TwinCAT的所有标准模块都可以在你引用的库里面找到),然后点击OK就可以看到对应的代码     更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123   我的在线论坛: http://csr…
今天来讲下scl两个关键的点 一.按键事件 比如地址I0.0是某个按钮的状态,他只有True和False两个状态,所以我们要获得按下事件需要我们自己模拟. #KeyPress := "Btn1" AND NOT #LastKey; #LastKey := "Btn1"; 这样通过对#KeyPress判断是否为True即可获得一次点击事件,相当于 |P| 把上一次的存起来,然后判断按下,如果你想把按键放在松开时也可以. 因为大多数事情都是用按键触发的,掌握这一点才能开…