用MCGS将AI518改成AI518P
AI518P为程序温控表,通过设定参数可以实现温度的曲线控制,这个曲线的实质就是SV 值的曲线变化,和测温的值无关。而AI518为温控表,将温度恒温到设定的SV值,为固定值。
我看过一个是用MCGS和AI518P通信,用MCGS将控温曲线的数据C1、t1、C2、t2…等传送到AI518P中,然后在用AI518P做温度的曲线控制。个人感觉用AI518,用MCGS给AI518的SV值一个曲线变化的值就可实现AI518P的控温曲线。既有了MCGS,还用AI518P 就有些浪费了。
1、添加变量
2、建立MCGS与AI518的数据连接
(1)添加串口设备
(2)设置串口设备属性
(3)连接设备和变量(SV的值要用R00地址,不可用V2-给定值SV,否则MCGS给的SV值会自动变回手动设置值或默认值。)
3、制作画面
(1)新建画面
(2)窗口0画面
实时曲线属性
标签属性
开始按钮属性
暂停按钮属性
继续按钮属性
停止按钮属性
设置按钮属性
(3)窗口1画面
确定按钮属性
输入框属性
这是第一个输入框,后面的以此类推,第一行依次为C1、C2、C3、C4、C5;第二行依次为T1、T2、T3、T4、T5。
4、脚本编辑
(1)设定循环脚本的循环时间
(2)设定循环条件表达式
(3)脚本程序内容
IF data2 = 0 THEN
IF T1 > 0 THEN
data = ( C2 - C1 ) / ( T1 * 600 )
IF data1 < ( T1 * 600 ) THEN data1 = data1 + 1
SV = C1 + data * data1
ELSE
data2 = 1
data1 = 0
ENDIF
ELSE
data2 = 1
data1 = 0
ENDIF
ENDIF
IF data2 = 1 THEN
IF T2 > 0 THEN
data = ( C3 - C2 ) / ( T2 * 600 )
IF data1 < ( T2 * 600 ) THEN data1 = data1 + 1
SV = C2 + data * data1
ELSE
data2 = 2
data1 = 0
ENDIF
ELSE
data2 = 2
data1 = 0
ENDIF
ENDIF
IF data2 = 2 THEN
IF T3 > 0 THEN
data = ( C4 - C3 ) / ( T3 * 600 )
IF data1 < ( T3 * 600 ) THEN data1 = data1 + 1
SV = C3 + data * data1
ELSE
data2 = 3
data1 = 0
ENDIF
ELSE
data2 = 3
data1 = 0
ENDIF
ENDIF
IF data2 = 3 THEN
IF T4 > 0 THEN
data = ( C5 - C4 ) / ( T4 * 600 )
IF data1 < ( T4 * 600 ) THEN data1 = data1 + 1
SV = C4 + data * data1
ELSE
data2 = 4
data1 = 0
ENDIF
ELSE
data2 = 4
data1 = 0
ENDIF
ENDIF
IF data2 = 4 THEN
IF T5 > 0 THEN
data = ( C1 - C5 ) / ( T5 * 600 )
IF data1 < ( T5 * 600 ) THEN data1 = data1 + 1
SV = C5 + data * data1
ELSE
data2 = 0
data1 = 0
ENDIF
ELSE
data2 = 0
data1 = 0
ENDIF
ENDIF
5、最后将窗口1设为启动窗口就行了。
下图为模拟运行时的图
下图为实际图,没有使用浴控温,PV一直为室温,SV按设定曲线变化。