用过三菱FX系列PLC的朋友知道,它有个SEGL指令最多可支持2*4的BCD码的数码显示(当然要有硬件配合:) ),以下晒晒个人写的一个应用实例,通过实用证明:可行。呵呵
1、扫描输出硬件请先晶体管输出的CPU或是扩展模块;
2、显示板用的电源是DC12,虽然西门子官方不建议DC12v的输出,但通过试用证明可驱动。(注:本人用的场合为仅显示,即不会影响安全的场合。若涉及安全问题,请严格按照硬件使用手册设计。);
3、将下列代码放在子程序中,重新命名子程序,再在需要调用的地方调用该子程序。
本程序对应特定显示板硬件,不同硬件可能需要对程序进行修改。仅做小砖,欢迎拍玉!
TITLE=说明:
// BCD信号为正逻辑,正电压锁存的多位数码扫描显示
//
// v1.0版
// 1、深度数值仅支持绝对值不大于9999的整数;
// 2、速度数值为0~99的整数;
// 3、片道数值为0~9的整数;
// 4、标记vw为扫描输出次序用中间变量。
Network 1
LDW< LW0, 0
= L20.0
INVW LW0
INCW LW0
+I 0, LW0
Network 2
LD SM0.0
MOVW LW0, LW10
IBCD LW10
MOVW LW2, LW12
IBCD LW12
MOVW LW4, LW14
IBCD LW14
Network 3
LDN L7.7
MOVW 16#FFFE, LW7
NOT
RLW LW7, 1
Network 4
LD SM0.0
LPS
A L8.1
A L8.2
= L6.0
LRD
A L8.5
A L8.6
= L6.1
LRD
A L7.1
A L7.2
= L6.2
LPP
A L7.5
A L7.6
= L6.3
Network 5
LDN L8.0
ON L8.1
ON L8.2
ON L8.3
MOVB LB11, LB17
MOVB LB13, LB16
AENO
RRB LB16, 4
Network 6
LDN L8.4
ON L8.5
ON L8.6
ON L8.7
LPS
MOVB LB11, LB17
AENO
RRB LB17, 4
LPP
MOVB LB13, LB16
Network 7
LDN L7.0
ON L7.1
ON L7.2
ON L7.3
MOVB LB10, LB17
MOVB 16#08, LB16
AENO
A L20.0
RRB LB16, 4
Network 8
LDN L7.4
ON L7.5
ON L7.6
ON L7.7
LPS
MOVB LB10, LB17
AENO
RRB LB17, 4
LPP
MOVB LB15, LB16
AENO
RRB LB16, 4
Network 9
LD SM0.0
ANDB 16#0F, LB17
ANDB 16#F0, LB16
MOVB LB17, LB9
ORB LB16, LB9