-
-
-
yangtze111 | 当前状态:离线
总积分:359 2025年可用积分:0
注册时间: 2008-08-20
最后登录时间: 2010-12-01
-
-
PLC计数的问题
yangtze111 发表于 2008/11/23 10:57:53 1642 查看 7 回复 [上一主题] [下一主题]
手机阅读
我想用FX2N设计个梯形图,实现功能如下:有y1到y14个输出,Y14,Y13,... ... Y2,Y1,其中y5,y10,y14的初始状态为1(点亮),有两个输入按钮X1,X2
按下X1就对y1赋值(点亮),再按下x1就对y2点亮,即,实现加一功能,而x2则相反,实现减一功能。
望哪位大虾提点提点。
可能是我没讲清楚,重新说明下:
有3位A(百位),B(十位),C(个位)
其中C为5进制,满5就向B进1位,B就显示6,C就显示0;
B也是5进制,B变化显示范围为从6变到10,满10就向A进1位,自己清零。
C是4位,显示范围为从11到14,
当A,B,C都满时(即显示A=14,B=10,C=5)
有两个按钮X1,X2控制C,当按X1时,C加1;当按X2时,C减1;当C减到C为1时,若再按X2,则B要减1位,同时C为5(相当于借位),对A也是一样的。
望高手指点一二,谢谢!
-
引用 bubli 2008/11/17 21:50:48 发表于2楼的内容
-
引用 comorg 2008/11/18 9:55:38 发表于3楼的内容
-
-
-
-
yangtze111 | 当前状态:离线
总积分:359 2025年可用积分:0
注册时间: 2008-08-20
最后登录时间: 2010-12-01
-
-
yangtze111 发表于 2008/11/18 18:02:34
多谢大哥,但是好像不对,是我没讲清楚,我重新写了下,麻烦帮下忙看看!4楼 回复本楼
引用 yangtze111 2008/11/18 18:02:34 发表于4楼的内容
-
-
-
-
-
yangtze111 | 当前状态:离线
总积分:359 2025年可用积分:0
注册时间: 2008-08-20
最后登录时间: 2010-12-01
-
-
yangtze111 发表于 2008/11/20 8:21:08
谢谢各位帮忙,我终于解决了,把程序发出来大家看看
LD X0 //开始按钮
OUT M30
LD M30
MOV K5
D0
MOV K10
D1
MOV K14
D2 //给D0,D1,D2分别赋初值
LDP X1
ANI M21 //按X1且M21为断开时
PLS M1 //输出M1
LDP X2
ANI M22 //按X2且M22为断开时
PLS M2 //输出M2
LD M1
INC D0 //按X1就给D0加1
LD M2
DEC D0 //按X2就给D0减1
LD= D0
K1
PLS M11 //当D0=1时输出M11
LD= D0
K6
PLS M10 //当D0=6时输出M10
LD M10
MPS //压栈
MOV K1
D0 //当D0=6时将其赋值为D0=1
MRD //读栈
LD< D1
K7
MOV K7
D1 //D0<7时使D1=7
MPP //出栈
LD>= D1
K7
INC D1 //D1>=7就自动加1
LD M11
AND M2
MPS
LD> D1
K6
MOV D0 //当D1>6时就使D0=5,D1自减1
K5
DEC D1
MPP
LD= D1
K6
OUT M12 //当D1=6时输出M12
LD= D1
K10
AND= D0
K6
AND M1 //当D1=10,D0=6且按了X1时
PLS M20 //就输出M20
LD M20
MPS
MOV D0
K1
MOV D1
K6 //使D0=1,D1=6
MRD
LD< D2
K12
MOV D2
K12 //当D2<12时使D2=12
MRD
LD> D2
K12
INC D2 //当D2>12时使D2自加1
MPP
LD= D0
K5
AND= D1
K10
AND= D2 //当D0=5,D1=10,D2=14时
K14 //输出M21
OUT M21 //M21会使X1按键失效
LD M12
AND M2
MPS
LD= D2
K11
MOV D0
K1 //当D2=11时,就使D0=1
MRD
LD> D2
K11 //当D2>11时
MOV D0 //使D0=5,D1=10
K5 //且D2自减1
MOV D1
K10
DEC D2
MPP
LD= D0
K1 //当D0=1,D1=6,D2=11时
AND= D1 //输出M22
K6
AND= D2
K11
OUT M22 //M22会使X2按键失效
LD= D0
K1
OUT Y1 //若D0=1,输出Y1
LD= D0
K2
OUT Y2 //若D0=2,输出Y2
LD= D0
K3
OUT Y3 //若D0=3,输出Y3
LD= D0
K4
OUT Y4 //若D0=4,输出Y4
LD= D0
K5
OUT Y5 //若D0=5,输出Y5
LD= D1
K6
OUT Y6 //若D1=6输出Y6
LD= D1
K7
OUT Y7 //若D1=7输出Y7
LD= D1
K8
OUT Y8 //若D1=8输出Y8
LD= D1
K9
OUT Y9 //若D1=9输出Y9
LD= D1
K10
OUT Y10 //若D1=10输出Y10
LD= D2
K11
OUT Y11 //若D2=11,输出Y11
LD= D2
K12
OUT Y12 //若D2=12,输出Y12
LD= D2
K13
OUT Y13 //若D2=13,输出Y13
LD= D2
K14
OUT Y14 //若D2=14,输出Y14
END
引用 yangtze111 2008/11/20 8:21:08 发表于5楼的内容
-
-
引用 lljel 2008/11/22 9:51:54 发表于6楼的内容
-
引用 218hty 2008/11/23 10:57:53 发表于7楼的内容