你可以用程序同时记录时间和模拟量值,模拟量值的范围是根据模拟量产品的精度来确认的。一般用分辨率来表示,比如分辨率常用的有3000、6000、9000、12000,分辨率越高,模拟量精度越高。相应模拟量的计数范围就是0~1000、0~6000、0~9000、0~12000
西门子PLC引入模拟量的话就是TITLE=液位控制中断子程序
Network 1 // 单极性数值转化为PID标准化数值
LD SM0.0
XORD AC0, AC0//累加器清零
ITDAIW0, AC0 //采集水位值
ITDAIW0, AC1
DTRAC0, AC0//将采集到的水位值转换为实数
/R 32000.0, AC0//对单极性的实数水位值标准化
MOVR AC0, VD100 //将水位值的标准化结果填入PID回路表
Network 2 // PID运算
LD SM0.0
PIDVB100, 0 //调用PID功能
Network 3 // 把PID标准值转化成实际输出值
LD SM0.0
MOVR VD108, AC0 //取出PID回路运算结果
*R 32000.0, AC0 //取PID回路运算结果的控制量,进行逆标准化(即转换为工程量)
ROUND AC0, AC0 //取整
DTIAC0, AC0 //双整数至整数
MOVW AC0, AQW0//输出模拟量
plc自身存储量比较小,一般都不进行模拟量记录,只进行采集和量程转换模拟量的记录一般是在上位机(触模屏或电脑)中完成的
如果一定要使用PLC的来进行模拟量记录,首先先确认需要记录的数据总量(如1000个),记录周期,然后在PLC寄存器中(西门子则为DB块)中定义一个区域来进行记录,模拟量为整数,1000个记录数据需要2000字节的寄存器。然后用一个定时器(记录周期)控制记数器(记录地址指针),将数据存入指定的寄存器中。当记数器达到数据总量上限时复位,并记下当前时间。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)