1.确定I/O 分配
根据PLC 输入/输出点分配原则及任务的要求,确定该任务的地址分配。启动按钮SB1:I0.1,停止按钮SB2:I0.2,热继电器FR (常开触点):I0.3,电机:Q0.0。根据任务的控制要求及I/O 分配,该任务的外部接线图与上个任务的外部接线图相同。
2.建立项目与PLC 变量表
打开博途编程软件,在PORTAL 视图中选择“创建新项目”,输入项目名称“电机定时启停”,选择保存路径后单击“创建”按钮,创建项目完成,然后进行项目的硬件组态。根据任务的I/O 分配表,编辑PLC 的变量,如图6-68所示。
图6-68 电机定时启停的PLC 变量
3.编写程序
1)生成OB40 组织块
打开项目视图中的文件夹“ \ PLC_1 \ 程序块”,用鼠标双击其中的“添加新块”,单击打开的方框中的“组织块”按钮,选中列表中的“Hardware interrupt”,生成一个名称为“硬件中断”的组织块OB40。
2)组态硬件中断事件
用鼠标双击项目树的文件夹“PLC_1”中的“设备组态”,打开设备视图,首先选中CPU,打开工作区下面的巡视窗口的“属性”选项卡,选中左边的“数字量输入”的通道2和3,即I0.2 和I0.3,用复选框激活“启用上升沿检测”功能,请参考图6-57,只是这里选择的通道号不同。单击选择框“硬件中断”右边按钮,在弹出的对话框OB 列表中选择硬件中断OB40,然后单击“打钩”按钮确定。将OB40 同时指定给I0.2 和I0.3 的上升沿中断事件,出现该中断事件,即按下停止按钮I0.2 或电机过载(FR 常开触点接通)时,将会调用OB40。
3)编写OB40 程序
在OB40 硬件中断程序中需要对系统启动标志位M2.0 和电机运行Q0.0 进行复位,并取消延时中断功能,如图6-69所示。
图6-69 电机定时启停的OB40 程序
4)生成OB20 组织块
打开项目视图中的文件夹“ \ PLC_1 \ 程序块”,用鼠标双击其中的“添加新块”,单击打开的方框中的“组织块”按钮,选中列表中的“Time delay interrupt”,生成一个延时中断组织块OB20。
5)编写OB20 程序
在延时中断组织块中计数循环次数,并重新触发延时中断,时间到达180 min (3 小时),电机停止,并对延时中断计数值清零,其程序如图6-70所示。
图6-70 电机定时启停的OB20 程序(www.xing528.com)
6)编写OB1 程序
在主程序OB1 中主要完成系统启动,CPU 时间的读取,电机启动及运行延时中断功能。为了读取正确的CPU 时间,首先对CPU 进行时间设置。
(1)设置CPU 系统时间。
用鼠标双击“设置组态”,然后用鼠标双击CPU,选择常规属性下的“时间”,将本地时间改为“北京时间”,取消夏令时,如图6-71所示。
图6-71 设置CPU 的本地时间
这样设置后,将CPU 转入“在线”状态,在项目树下的“在线访问\ 网卡\ 更新可访问的设备\ plc_1 \ 在线和诊断”,打开如图6-72所示系统设置时间的对话框,选中复选框“从PG/PC 获取”后,单击“应用”按钮,便可使CPU 的时间与PC 同步,否则为PLC 出厂默认日期:DTL#1970-01-01-00:00:00。
图6-72 系统设置时间的对话框
系统设置时间也可以通过扩展指令中的日期和时间中的“WR_LOC_T (写入本地时间)和WR_SYS_T (设置时间)”指令来设置CPU 的本地时间和系统时间,用户可参考这两个指令的帮助功能来写入本地时间和系统时间。
这时就可以通过扩展指令中的日期和时间中的读取本地或系统时间指令来获得本地或系统时间。两个指令分别为“RD_LOC_T”(读取本地时间,即带时差时间)和“RD_SYS_T”(读取系统时间,即UTC 时间)。
(2)读取CPU 系统时间。
在OB1 的接口区中生成局部变量D_T,如图6-73所示,数据类型为DTL,用来作为指令RD_SYS_T 的输出参数OUT 的实参。
图6-73 OB1 中定义的局部变量D_T
(3)编写OB1 程序。
电机定时启停的OB1 的程序如图6-74所示。按下启动按钮I0.1 后,系统启动,启动标志位M2.0 置1,系统启动后实时读取系统时间,当系统时间大于或等于6:00 时,启动电机并触发延时中断。延时中断的时间设置为1 min,延时时间到后,调用OB20 延时中断程序。
图6-74 电机定时启停的OB1 程序
4.调试程序
将调试好的用户程序及设备组态下载到CPU 中,并连接好线路。按下启动按钮SB1,观察电机是否按系统设置的时间启动和延时停止(建议调试时将比较时间设置为“分”,电机运行的时间也设置短些);按下停止按钮SB2,观察电机是否立即停止运行。若上述调试现象与控制要求一致,则说明任务完成。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。