目录
问题的提出
我之前是使用填表程序记录我需要的拔起速度值,但是填表程序最大只能记录100个条目,就算是运用了先入先出/后入先出指令,也比较麻烦,因为要不断写这一行代码,而且并不能帮我生成一个表格出来。
如果我要记录1000个条目甚至更多,靠填表程序记录就不满足我的要求了。打电话给西门子的客服,他们的回答是叫我用S7-200的数据归档程序。
问题的初步解决
我买来了256K的存储卡插在了PLC上,也能读取到这一张卡。我顺着官方文档/视频以及数据归档向导(西门子官方文件-数据归档),生成了两个数据归档文件。
下面几张图是其中"右边数据归档"生成的过程图,一些域名命名和V存储区设定,完全是按照它官方文件来做的。
交叉引用看过VB4-VB7没有被占用
与传统不一样的是,这个一段程序不是通过上升沿指令来触发,而是利用主程序中的中断程序来每0.02s来触发。因为传统的方式触发太慢,我需要短时间多次触发且需要把这些数据都记录下来。
下图是主程序的中断程序片段(主程序启动对应子程序20ms一次中断):
下图为子程序关于数据记录的片段(网络10为速度转换计算,网络11为填表程序,网络12为数据归档程序):
数据归档的效果
让拔起速度对应的传感器产生变化,分别使用填表程序和数据归档记录。我在监控状态通过状态表查看填表程序存储区的数据是有的,从VW9000-VW9202,最大条目100条记录了100个,但是数据归档的存取地址VB4却是0,没有变化。
于是我首先通过上载功能 从存储卡上传数据归档文件:
已经用PPI线连接PLC和PC,在S7-200 Explorer资源管理器软件里面找到256K存储卡并右击刷新(F5) 后,再右击数据归档文件进行的上传 ,另存为一个**.CSV文档**。
数据归档文件不对
在S7-200 Explorer资源管理器,我右击这个数据归档文档的属性可以直接看到记录的数据条目为0,且已修改的时间还是昨天的时间,根本不是最新的时间。由此我推测保存在存储卡上的数据根本就没有同步到PC上,所以点开.CSV文件只能看到第一排一些常规标签(时间、日期、需要记录的域名)。
把PPI先拔了再连接电脑,再次刷新依然如此,修改时间没有变,里面的文件当然也没有改变。
我的疑问
在B站、抖音、西瓜视频上搜索关于如何使用S7-200数据归档操作的视频后,发现要不是直接给出的就是西门子官方的视频文件,要么就是不想关的内容(比如整个程序的归档,型号不是S7-200的其他内容)。最终我还是转投西门子官方论坛和提问(🔗西门子此问题的求助帖),发出求助帖后,有人就回复我这根本不能实现,速度太快,而且记录的数据太过于庞大。我知道是这么回事,但是填表程序就能实现,只不过它能够存储的条目有限,只有100个,况且我就是需要这些数据,不然我为什么费这么老大劲干吃力不讨好的事儿。
有人提出可以在HMI触摸屏这一端来解决,我也问过西门子售后客服,虽然趋势试图可以显示实时数据,但是无法把这么短间隔的数据导出来,用U盘的存储功能,把触摸屏里面的历史记录数据导出的时候,其采集周期可以达到100ms ,但是记录周期最小只能是1s。也就是说你输出来的在U盘上的表格时间戳最小的间隔是1s。无法满足我的要求。
所以我还是只能寄希望于数据归档了,我的疑问是
1、数据归档是我这样子用的吗?
2、如果是,那为什么我上载的数据记录.csv文件为什么是空的?如果不是,请各位不吝赐教。
虽然我知道这个社区可能关注西门子PLC的人不多,但如果碰到一位大佬刚好看到我这个问题了呢。
非常感谢大家!!!