PLC程序中如何做数据归档?
数据归档方法:
1. D寄存器循环写入——用地址指针+环形缓冲区,新数据覆盖最早的数据;
2. 使用配方/数据块——西门子用DB实现,三菱用R文件寄存器;
3. 连接触摸屏SD卡——通过HMI的存储功能保存CSV文件;
4. 上位机OPC读取——用PC端的数据采集软件(如Kepware)记录到数据库。
小规模用D寄存器就够了,大规模可视化用上位机方案。
4 个回答
✓ 最佳回答
逻辑口诀:双线圈后盖前,置位复位别互掐;定时器先查编号段,再查谁在复位它;在线监控看条件链,逐条追到输入点。
程序问题先复现后修改,一次只改一处。
✓ 最佳回答
数据归档方法:
1. D寄存器循环写入——用地址指针+环形缓冲区,新数据覆盖最早的数据;
2. 使用配方/数据块——西门子用DB实现,三菱用R文件寄存器;
3. 连接触摸屏SD卡——通过HMI的存储功能保存CSV文件;
4. 上位机OPC读取——用PC端的数据采集软件(如Kepware)记录到数据库。
小规模用D寄存器就够了,大规模可视化用上位机方案。
定时器/计数器不动作,常见原因:一,编号超范围或用到了别的程序块已占用的编号(很多PLC定时器分几类,比如三菱T0-T199是100ms定时器、T200-T245是10ms,编号段不同精度不同,用错了行为就怪);二,定时器被程序里其他地方复位了,或者在子程序里只能用本子程序可用的编号;三,扫描周期和定时器精度冲突,100ms定时器在扫描周期很长的程序里会明显不准。
查法:先看定时器线圈在监控里是不是一直ON,是就查复位和编号,不是就查前面的条件。
程序逻辑不对,先别急着改,按三步来:一,在线监控看每一步的执行状态——哪条指令的输入条件满足了但输出没通、哪条指令根本没被执行(被前面的跳转/MAIN子程序调用顺序影响了);二,把问题缩小到最小复现——临时只保留出问题的这段逻辑,其他都屏蔽,确认是这段的逻辑问题还是和其他地方互锁/置位复位打架了;三,检查扫描周期特性——同一个线圈在程序里被多处赋值(双线圈),后面的赋值覆盖前面的,置位S和复位R在互锁条件下互相拉扯,这是梯形图最经典的两大坑。