这个是缓冲区数据设置,我需要由PLC控制什么时候采集,什么时候不采集。在PLC做了触发程序,下面还有一张图,是模块参数,有D0控制采集旗标,D1控制清空历史数据区旗标。至于为什么这么多字,我只能说笨人只能想笨办法,我没法把HMI自己记录的时间日期,与我需要采集的数据在输出的CSV文件隔开成不同的列,只有用这个笨办法,采集PLC的万年历,然后输出成N列,这样处理数据会很方便。
这个是历史缓冲区设置完了的图,第二个缓冲区就是拿来做历史趋势图的数据区,采用HMI自己的timer来触发。
这个是设置历史数据区读取长度根资料起始位置,从起始寄存器D410开始,前面的万年历每个都是1个word,后面采集的数据每个2个word,这里可以看到区别。
这个是最坑爹的一步,我在手册根本找不见这个,跟台达的技术打电话,那边扯来扯去,还是我说是不是有什么控制历史趋势图启停的bit位,那货才跟我说设置这个。这个图是在你单击历史趋势图后,右边的属性框下面的设置值,点那三个点点出来的对话框,要把启动给选上,要么用PLC的bit位控制,要么用HMI自己的内部bit、位,做个宏程序啊,或者按钮啥的来启动,不然你的历史数据区即使采集到了数据,趋势图也是不画曲线的。
最后这一张就是最开始提到的模块参数设置了,可能你这边用不到,我是需要每自动保存一次历史数据区的数据,就要清空一次,下一个时间区间还是从第一个采集点开始采集。
好了,这样已经可以搞定你的问题并且超出许多了。
回复内容:
对:coldblooded 回复内容:对: godblessyuki 这个是缓冲区数据设置,我需要由PLC控制什么时候采集,... 内容的回复!回复内容:对: godblessyuki 这个是缓冲区数据设置,我需要由PLC控制什么时候采集,... 内容的回复!我用的西门子的S7-200PLC 没有相对应的D寄存器,怎么在趋势图上显示,同时我的历史数据报表也没有数据 内容的回复:因为我没实际做过200跟台达hmi的通讯,如果在通讯里面没有预设的跟200的通讯连接,那就只能用标准modbus通讯,你可以找一下相关的资料,通过modbus通讯,将plc的数值,给到hmi内部寄存器,再用hmi内部寄存器当做模块参数的命令区的控制字