支架装配线PLC程序
Network 1 // 联锁启动/联锁启动告警
LD I4.5
O M0.0
A I0.0
A I4.6
A I4.7
AN M0.3
= M0.0
TON T37, 40
AN T37
= Q0.0
Network 2 // 联锁启动信号
LD I0.0
A I4.5
A I4.6
A I4.7
= M0.1
Network 3 // 联锁停止信号
LDN I0.0
O I4.6
= M0.2
Network 4 // 设备处于单独/联锁运行状态
LD Q0.1
O Q0.2
O Q0.3
O Q0.4
O Q0.5
O Q0.6
O Q0.7
O Q1.0
O Q1.1
O Q1.2
= Q1.3
ED
= M0.3
Network 5 // 联锁状态指示
LD I0.0
= Q1.4
Network 6 // 第1段线体末光电开关上升沿
LD I0.2
EU
= M1.0
Network 7 // 第1段线体就地启动
LD I2.1
O M0.1
O M1.1
A I2.2
A M0.2
A I4.7
AN M1.0
LPS
= M1.1
LDN I0.1
O I0.2
ALD
AN I2.1
TON T38, 300
LPP
AN T38
= Q0.1
Network 8 // 第2段线体末光电开关上升沿
LD I0.4
EU
= M2.0
Network 9 // 第2段线体就地启动
LD I2.3
O M0.1
O M2.1
A I2.4
A M0.2
A I4.7
AN M2.0
LPS
= M2.1
LDN I0.3
O I0.4
ALD
AN I2.3
TON T39, 300
LPP
AN T39
= Q0.2
Network 10 // 第3段线体末光电开关上升沿
LD I0.6
EU
= M3.0
Network 11 // 第3段线体就地启动
LD I2.5
O M0.1
O M3.1
A I2.6
A M0.2
A I4.7
AN M3.0
LPS
= M3.1
LDN I0.5
O I0.6
ALD
AN I2.5
TON T40, 300
LPP
AN T40
= Q0.3
Network 12 // 第4段线体末光电开关上升沿
LD I1.0
EU
= M4.0
Network 13 // 第4段线体就地启动
LD I2.7
O M0.1
O M4.1
A I3.0
A M0.2
A I4.7
AN M4.0
LPS
= M4.1
LDN I0.7
O I1.0
ALD
AN I2.7
TON T41, 300
LPP
AN T41
= Q0.4
Network 14 // 第5段线体末光电开关上升沿
LD I1.1
EU
= M5.0
Network 15 // PH5动作后计时
LD M5.0
O M5.1
AN T42
= M5.1
TON T42, 100
Network 16 // 第6段线体末光电开关上升沿
LD I1.2
EU
= M6.0
Network 17 // 第5~6段线体就地启动
LD I3.1
O I3.3
O M0.1
O M6.1
A I3.2
A I3.4
A M0.2
A I4.7
AN T42
AN M6.0
LPS
= M6.1
LDN I1.1
O I1.2
ALD
AN I3.1
AN I3.3
TON T43, 500
LPP
AN T43
= Q0.5
= Q0.6
Network 18 // 第7段线体末光电开关上升沿
LD I1.4
EU
= M7.0
Network 19 // 第7段线体就地启动
LD I3.5
O M0.1
O M7.1
A I3.6
A M0.2
A I4.7
AN M7.0
LPS
= M7.1
LDN I1.3
O I1.4
ALD
AN I3.5
TON T44, 300
LPP
AN T44
= Q0.7
Network 20 // 第8段线体末光电开关上升沿
LD I1.5
EU
= M8.0
Network 21 // PH8动作后计时
LD M8.0
O M8.1
AN T45
= M8.1
TON T45, 100
Network 22 // 第9段线体末光电开关上升沿
LD I1.6
EU
= M9.0
Network 23 // 第8~9段线体就地启动
LD I3.7
O I4.1
O M0.1
O M9.1
A I4.0
A I4.2
A M0.2
A I4.7
AN T45
AN M9.0
LPS
= M9.1
LDN I1.5
O I1.6
ALD
AN I3.7
AN I4.1
TON T46, 500
LPP
AN T46
= Q1.0
= Q1.1
Network 24 // 第10段线体末光电开关上升沿
LD I2.0
EU
= M10.0
Network 25 // 第10段线体就地启动
LD I4.3
O M0.1
O M10.1
A I4.4
A M0.2
A I4.7
AN M10.0
LPS
= M10.1
LDN I1.7
O I2.0
ALD
AN I4.3
TON T47, 300
LPP
AN T47
= Q1.2
Network 26
LD SM0.0
CALL SBR3
TITLE=运行时间统计程序
Network 1 // 调用TD向导生成的子程序
LD SM0.0
CALL SBR1
Network 2 // 显示系统时间
// 读系统时钟,把年/月/日/小时/分钟/秒/星期依次放入VB2000/VB2001/VB2002/VB2003/VB2004/VB2005/VB2007存储器中;
// 将BCD编码(二进制编码的十进制值)的字节转换为BCD编码的字(整数);
// 将BCD编码的字(整数)转换为整数值;
// 把显示年的存储器加2000,以显示为200*年,比较美观;
// 其它类同,先将BCD编码(二进制编码的十进制值)的字节转换为BCD编码的字(整数),然后再将BCD编码的字(整数)转换为整数值;这样就得到了年/月/日/小时/分钟/秒的整数值(本程序没有处理星期,如果要处理,方法相同),以用于TD400C显示。
LD SM0.0
TODR VB2000
BTI VB2000, VW1640
MOVW VW1640, VW1642
BCDI VW1642
MOVW +2000, VW1644
+I VW1642, VW1644
BTI VB2001, VW1646
MOVW VW1646, VW1648
BCDI VW1648
BTI VB2002, VW1650
MOVW VW1650, VW1652
BCDI VW1652
BTI VB2003, VW1654
MOVW VW1654, VW1656
BCDI VW1656
BTI VB2004, VW1658
MOVW VW1658, VW1660
BCDI VW1660
BTI VB2005, VW1662
MOVW VW1662, VW1664
BCDI VW1664
Network 3 // 累计运行时间统计----秒数显示
// 累计运行秒数统计;
// 如果秒数大于等于60,就减去60,用于显示;同时产生一个脉冲信号让分钟数加1;
LD Q1.3
LPS
A SM0.5
EU
INCW VW1628
LPP
AW>= VW1628, 60
-I +60, VW1628
AENO
= M31.1
Network 4 // 累计运行时间统计----分钟数显示
// 累计运行分钟数统计;
// 如果分钟数大于等于60,就减去60,用于显示;同时产生一个脉冲信号让小时数加1;
LD Q1.3
LPS
A M31.1
INCW VW1624
LPP
AW>= VW1624, 60
-I +60, VW1624
AENO
= M31.2
Network 5 // 累计运行时间统计----小时数显示
// 累计运行小时数统计;
// 如果小时数大于等于60,就减去60,用于显示;
LD Q1.3
A M31.2
INCW VW1620
Network 6 // 本班运行时间判定
// 每天只有1个班;
// 系统小时等于上班小时设置且分钟大于等于上班分钟设置、系统小时大于上班小时设置且小于下班小时设置、系统时间等于下班小时设置且小于等于下班分钟设置,则认为是上班时间。
LDW= VW1656, VW1720
AW>= VW1660, VW1724
LDW> VW1656, VW1720
AW< VW1656, VW1740
OLD
LDW= VW1656, VW1740
AW<= VW1660, VW1744
OLD
= M31.4
Network 7 // 每天上班时对前一天的运行时间清零
// 每天上班时分别对前一天的小时、分钟、秒进行清零;
LD M31.4
EU
MOVD 0, VD1600
MOVD 0, VD1604
MOVD 0, VD1608
Network 8 // 本班运行时间统计----秒数显示
// 本班运行秒数统计;
// 如果秒数大于等于60,就减去60,用于显示;同时产生一个脉冲信号让分钟数加1;
LD M31.4
A Q1.3
LPS
A SM0.5
EU
INCW VW1608
LPP
AW>= VW1608, 60
-I +60, VW1608
AENO
= M31.6
Network 9 // 本班运行时间统计----分钟数显示
// 本班运行分钟数统计;
// 如果分钟数大于等于60,就减去60,用于显示;同时产生一个脉冲信号让小时数加1;
LD Q1.3
LPS
A M31.6
INCW VW1604
LPP
AW>= VW1604, 60
-I +60, VW1604
AENO
= M31.7
Network 10 // 本班运行时间统计----小时数显示
// 本班运行小时数统计;
LD Q1.3
A M31.7
INCW VW1600
Network 11 // 累计运行时间存入转存
LD SM0.0
MOVW VW1620, VW3260
MOVW VW1624, VW3262
Network 12 // 累计运行时间存入EPROM
// 累计运行时间存入EPROM;
// EEPROM写入次数统计;
LD Q1.3
ED
AN M30.1
LD V57.7
EU
OLD
AN SM31.7
MOVW 3260, SMW32
MOVB 3, SMB31
S SM31.7, 1
INCW VW3558
= M29.1
Network 13 // EEPROM写入后计时
LD M29.1
O M30.1
AW< VW3368, 3600
= M30.1
A SM0.5
EU
INCW VW3368
Network 14 // EEPROM写入动作完成了指定时间后复位相关计数器
LDN M30.1
MOVW 0, VW3368
Network 15 // 如果数据丢失,就从EEPROM中恢复
LDW= VW1620, 0
AW= VW1624, 0
MOVW VW3260, VW1620
MOVW VW3262, VW1624
Network 16 // 上班时间之小时设置存入EEPROM
LD V68.0
EU
AN SM31.7
MOVW 1720, SMW32
MOVB 2, SMB31
S SM31.7, 1
INCW VW3558
Network 17 // 上班时间之分钟设置存入EEPROM
LD V68.1
EU
AN SM31.7
MOVW 1724, SMW32
MOVB 2, SMB31
S SM31.7, 1
INCW VW3558
Network 18 // 下班时间之小时设置存入EEPROM
LD V68.2
EU
AN SM31.7
MOVW 1740, SMW32
MOVB 2, SMB31
S SM31.7, 1
INCW VW3558
Network 19 // 下班时间之分钟设置存入EEPROM
LD V68.3
EU
AN SM31.7
MOVW 1744, SMW32
MOVB 2, SMB31
S SM31.7, 1
INCW VW3558
Network 20 // 编辑通知位动作计时
// 因为写入EPROM的动作是在每个扫描周期之后,所以编辑通知位=1的状态至少需要保持1个周期以上才能确保写入EPROM的动作正常执行;
LD V68.0
O V68.1
O V68.2
O V68.3
TON T253, 20
Network 21 // 复位编辑通知位
LD T253
R V68.0, 4
Network 22
LD SM0.5
EU
INCW VW3532
Network 23
LDW>= VW3368, 3600
INCW VW3534
MOVW 0, VW3532
Network 24 // EEPROM写入次数存入EEPROM
LDW>= VW3534, 24
EU
AN SM31.7
MOVW 3558, SMW32
MOVB 2, SMB31
S SM31.7, 1
INCW VW3558
MOVW 0, VW3534
Network 25 // 本班开始运行时间
LD Q1.3
EU
AW<> VW3778, VW1652
MOVW VW1656, VW1680
MOVW VW1660, VW1684
MOVW VW1664, VW1688
MOVW VW1652, VW3778
Network 26 // 本班最后运行时间
LD Q1.3
ED
MOVW VW1656, VW1700
MOVW VW1660, VW1704
MOVW VW1664, VW1708
Network 27 // 本班运行时间复位
LDW= VW1760, 1
MOVW 0, VW1600
MOVW 0, VW1604
MOVW 0, VW1608
MOVW VW1644, VW1764
MOVW VW1648, VW1768
MOVW VW1652, VW1772
MOVW VW1656, VW1776
MOVW VW1660, VW1780
TON T247, 50
A T247
MOVW 0, VW1760
Network 28 // 累计运行时间复位
LDW= VW1800, 1
MOVW 0, VW1620
MOVW 0, VW1624
MOVW 0, VW1628
MOVW VW1644, VW1804
MOVW VW1648, VW1808
MOVW VW1652, VW1812
MOVW VW1656, VW1816
MOVW VW1660, VW1820
TON T248, 50
A T248
MOVW 0, VW1800
配合TD2000显示系统时间及其他参数.
-
引用 218hty 2008/7/11 20:54:58 发表于2楼的内容
-
-
-
wilton_gao | 当前状态:离线
总积分:123 2024年可用积分:0
注册时间: 2008-01-16
最后登录时间: 2009-09-29
-
wilton_gao 发表于 2008/7/16 15:45:36
把程序贴到文本文件里,然后从编程软件里导入即可
引用 wilton_gao 2008/7/16 15:45:36 发表于3楼的内容
-