ayu20
X0按下5次,让变量a加1,当变量a为3的时候,让Y0输出。
这一个简单的例子怎么用ST结构化文本语言编程?跪求大侠指点!!!
sun_qq1987
if x0=true then
a:=a+1;
if a=3 then
y0:=true;
end_if
当然实际检测x0的时候 要用边沿检测
小小龙龙
这个是C++编程吗,看着有点像啊
ye_w
申明部分
X0,Y0,ReStart:BOOL;
X0Count:INT:=0;
a:INT:=0;
X0R_TRIG:R_TRIG;
程序部分
X0R_TRIG(CLK:=X0);
IF X0R_TRIG.Q THEN
X0Count:=X0Count+1;
END_IF
IF X0Count = 5 THEN
X0Count:=0;
IF a=3 THEN Y0:=TRUE; END_IF
IF ReStart THEN a:= 0; Y0:=FALSE; END_IF
yujialutiamo
回复内容:
对: ye_w 申明部分X0,Y0,ReStart:BOOL;X0Co... 内容的回复!
3楼能具体解释一下程序的含义吗?
对: yujialutiamo 回复内容:对: ye_w 申明部分X0,Y0,ReS... 内容的回复!
就是楼主的本意呀
kumai87
好 不错 要是多点解析一下就好了。。比如
ReStart 这个是干嘛用的
刀锋2孤客
对: kumai87 好 不错 要是多点解析一下就好了。。比如申明部分X0,... 内容的回复!
这是对这些标签的定义,X0,Y0,RESTART,是布尔量 ,a是整数初始值是0,X0R_TRIG是上升沿触发器,如国要打包成功能块供其他程序反复调用的话,还要定义输入输出管脚!RESTART是复位,触发Y0,Y0置1,如果要置0,就要写这么一段让Y0置0,总不能停机吧!
张彪V8
"IEC_Counter_0_DB".CTU(CU:=#X0,
R:=#X1,
PV:=#INT199,
Q=>#TEMP3,
CV=>#A);
IF #TEMP3 THEN
#Y := TRUE;
ELSE
#Y := FALSE;
END_IF;
z250830742
都需要有声明么?看手册里面好多都没有直接就是用的啊、、、