发布时间:2023-11-02 09:42来源:www.sf1369.com作者:宇宇
这是为了可靠互锁,万一按钮的互锁发生机械故障,失效了,还有一级接触器的电气互锁防止电源短路,是不是线路更可靠呢?所以说两级互锁是很有必要的。
LD X000
PLS M0
LD M0
ANI Y000
LDI M0
AND Y000
ORB
OUT Y000
X000开关,Y000灯,这是一个翻转程序
因为你用的是乘法,结果是32位的,当你指定为D2的时候,其实占用的是D2D3两个数据位,其中D2是低16位,D3是高16位。又由于你将D3复用为加法的结果地址,将1存入了D3中,所以由D2D3组成的32位数据为:10000H=65536。你可以将加法结果存于D4中就好了。
以上供参考。
1:
LD SM0.1 //初始化脉冲
MOVW 18, VW2910 //初始开机小时(用寄存器来做,方便修改)
MOVW 0, VW2912 //初始开机分
MOVW 6, VW2914 //初始关机小时
MOVW 0, VW2916 //初始关机分
LD SM0.5 //0.5秒读取次时间
EU //上升沿触发
TODR VB2800 //读时钟指令,将时钟数据存在以VB2800开始寄存器位置
LD SM0
BTI VB2803, VW2856 //此为当前小时的字节转整型(西门子PLC时钟指令读取的为BCD码,需先转换为整型,再通过BCDI指令转成我们习惯的数据)
BTI VB2804, VW2858 //此为当前分的字节转整型
BCDI VW2856, VW2900 //小时
BCDI VW2858, VW2902 //分
LD SM0 //以下为时钟比较,逻辑稍微多点,不一一注释啦,自己可以转换为梯形图思考思考
LDW> VW2914, VW2910
LDW> VW2900, VW2910
AW< VW2900, VW2914
LDW= VW2900, VW2910
AW>= VW2902, VW2912
OLD
LDW= VW2900, VW2914
AW< VW2902, VW2916
OLD
ALD
LDW= VW2914, VW2910
AW= VW2900, VW2910
AW> VW2916, VW2912
AW< VW2902, VW2916
AW>= VW2902,VW2912
OLD
ALD
= Q0.0
2.这个不就是个通电延时就OK了吗?
LD SM0
LPS
A I0.0
TON T37, 500
LPP
A T37
= Q0.0
这个问题是施耐德学院的一个比较经典的问题,有n多个答案,少的几行程就搞定了,多的达到几十行,你不要问了,自己做一下吧,很有意思的一道题,尝试用高级指令来实现,几行就可以了
第8题,M2作为X1的状态标志,常闭串入Y1,左极限挺,开始右运行(Y0),右极限触发复位M2,左(Y1)可以运行。23步,作为复位原点。X4是停止
第9题,如下