将HMI+PLC的程序一起规划设计
任何电控系统,都需要有状态信息显示,现在人机界面(HMI)是常用部件,建议设计之初就将HMI+PLC作为一个整体,从操作者的角度,需要哪些其功能与操作特性,比如观察哪些状态参数、设定的工作参数、保护参数等,还有哪些调试操作、记录数据等。 HMI通信读取PLC多个寄存器时,会将多个连续地址的目标寄存器,用一帧通信读取回来,可提高通信效率。但若寄存器的地址相差比较大,就需要多帧读取,所以,将经常访问的运行状态参数,安排在连续的地址,就可以提高通信效率,可增加每秒钟访问次数,增加操作响应和显示的顺畅感,控制系统越复杂,这个考虑就越重要。
程序变量定义
在开始子程序细化之前,建议将程序所需要的变量先定义好,下面以H2U、H3U系列控制器为例,建议如下原则: 1)控制程序中,最好不要直接对控制输出Y端口进行操作,可先对定义的M变量进行操作,在程序的最后面才将该M变量复制给对应的Y端口输出,这样作的好处是可以方便地调换输出口;在该继电器损坏后,可以在HMI界面上指定到其它空闲的端口,而不需修改程序; 2)回避系统所需的专用寄存器区,D8000+地址寄存器为系统区域;M8000+地址寄存器为系统区域; 3)控制程序可能用到的缓冲区域,如使用1:1或n:n通信功能,就会需要D200~D551区域;使用CANlink通信,就会用到D7000~D7999区域,无论当前有没有用到,建议回避这些区域,预留给以后的使用; 4)将设置的参数变量,定义于掉电保持区域; 5)将HMI或SCADA需要访问的状态参数变量,定义在连续的地址区域,可提高上位机访问的速度; 6)控制器可能会控制主机变频器、风机变频器,应将两者分块定义,若参数总数不超过100个,可以考虑将风机变频器的变量地址与主机变频器的地址相处100,便于记忆; 7)有的变量可能会采用浮点数,注意预留2Word的地址; 8)将使用频繁的变量放前面,较少使用的放后面,将运行历史记录放最后面;故障记录数据区要有预留空白区,常常需要增加保存的数据的需求,这样修改起来比较方便; 9)考虑应用系统可能的最大机型配置,如所有温度、压力、电流等AI端口的物理量读数,都分配对应参数存储单元,最终的机型可以需要多少显示多少,需要扩充时,只是显示出来就可以了,这在系列化机型设计时会简单容易; 10)建议先列出HMI需要显示的运行状态参数,如: l 系统当前运行状态、温度、压力、电机电流、故障类型等; l 设定的工作参数,如排气压力、保护压力、控制温度、保护温度、保护电流、保养计划等; l 历史记录的查询,如各部件自上次维保以来的运行时间,系统累计运行时间、告警历史记录等待; l 如果是变频驱动,需要变频器的常用运行状态参数等等,在HMI界面上就可以查阅或设置必需的功能码参数 按上述的提醒,将界面与控制作为一个整体进行变量规划,将所需的参数存放在连续地址区域,提高通信速度,还可避免后续扩展时,需要特别打补丁处理。 定义举例参见下表的举例,刚开始编程,许多参数并不能事先就能想到,其中大部分变量是在编程过程中逐渐添加的,按变量属性进行区域规划,预留空间就是一个比较好的对策。最好将变量定义以电子表格文档记录保持,作为程序记录的组成部分,以便查阅和补充,
|