本帖最后由 wangjunjie 于 2021-5-19 16:26 编辑
在触摸屏趋势视图功能中,趋势类型有一个选项为“缓冲区位触发”,如下图所示,这个选项的功能是将PLC中存储的一段数组读取出来,以曲线的形式绘制在趋势视图中。 组态示例: 步骤 1:新建一个工程并保存。 步骤 2:在画面中组态一个变量组,并在该组中组态3 个变量,分别为“趋势请求”,“趋势缓冲区”,“趋势传送”,其中“趋势缓冲区”为PLC数组的首地址,数组计数为数组内单元的个数,这里设置为5;趋势请求和趋势传送必须设置连接且数据类型只能输入int或word 步骤 3:组态趋势视图。 1)在画面中组态一个趋势视图,如下图所示: 2)组态“常规”、 “属性” 在趋势的常规和属性视图中,根据需要对“外观”、“布局”、“数值轴左边”、“数值轴右边”、“轴”、“表格”和“其他”进行组态,本例使用默认值。 3)组态“X 轴” 选择模式为“点”,轴刻度中的点设置为“20”。 4)组态“趋势” 趋势缓冲区:表示存放数据的数组,曲线的数据来源。 趋势请求: 是HMI发送给PLC的触发位提示标志。当HMI与PLC通讯成功后,HMI会给PLC下发一次趋势请求变量。下发的值为仅触发位为1其他位都为0。例如:设置的位为0,趋势请求会写入1,设置的位为4,趋势请求会写入16。
趋势传送区1: 读出曲线的触发条件,需要将最高位和触发位置1,即可触发读取,触发一次后会自动复位最高位和触发位。例如:设置的位为0,触发条件则是1000 0000 0000 0001,可改为16进制,输入8001即可。设置的位为4,则触发条件为8010。
切换缓冲区:可以设置第二个数组。 趋势传送2:第二个缓冲区的触发变量,触发条件和传送区1相同。
两个缓冲区可交替触发,做到类似实时刷新的效果
5)组态其他项 建立两个数字I/0域,将趋势请求和趋势传送区1设置为16进制,字符长度为FFFF。 步骤 4:运行测试 1)设置PLC变量数据 其中“趋势请求”,“趋势传送”应写入0。 2)运行HMI
其中趋势请求会显示当前的趋势图的触发位,只需要再加上8000(最高位与触发位的值置1)写入趋势传送就可以触发。
3)测试结果 趋势传送栏写入8020后曲线触发,并自动复位趋势传送栏,再次输入8020可重新触发。
|