模拟量处理在PLC编程中是非常常见的。除了将输入的模拟量转换为工程量外通常还需要有高低报警处理。这样可以在异常时触发相应的联锁或者声光警示。
在HwBasicLib中有一个专门用于处理模拟量的名称为HwAI的组件。它Zui多支持6个高低限值设置,具体如下:
在上面的六个报警类型中,SH和SL用于自动程序中的步序转换,比如压力达到了SH的设定值时,程序自动启动下一级设备等。SH和SL是设备运行时的正常范围内的波动值。如果失控,会导致先触发高或者低报警,这时一般会有相应的报警提示,比如声光报警等,提示操作人员进行干预。而同时自动程序也会暂停。如果没有得到合理的处理而进一步失控就会触发高高报警和低低报警,这时相关设备会立即停止,自动程序也会中断,同时声光报警,提示操作人员立即处理。
当然在生产中并不是所有模拟量都需要这6种报警类型,有的可能需要SH、SL、AL和ALL,也有的可能只需要AL和ALL,那么我们的组件如何进行设置呢?我们的HwAI组件有一个名为AlmTy的参数引脚。通过对该参数传递不同的值就可以设置不同的报警类型。
为了方便计算AlmTy的值,我们配套了一个工具小软件。
在小软件中勾选相应的报警类型后将自动生成的值输入到参数AlmTy中即可。然后在接口变量HwSCW中关联AlmTy即可。
这样面板上的报警类型会自动随之切换。
当然我们也可以将报警类型的配置放到面板里,通过上位机的Faceplate面板进行设置。但是需要加以一定的权限进行管理,防止被不相关人员误设置。在HwBasicLib中我们把它作为参数引脚来进行管理是考虑到报警类型在调试时应该都会被确定,一般不需要用户来进行设置。所以通过常数把它们固化了。至于到底是作为常数固化合理还是面板设置更方便,这个就是仁者见仁智者见智了。