现在我想做这样一件事情。
我的电脑连着一台西门子的PLC,在WINCC中已经可以接收到由PLC传过来的一个不断变化的整数。我在WINCC中创建了一个变量,该变量对应该那个整数。目前我已经可以在图形编辑器中创建一个输入输出域用来动态的显示这个数字。
我现在就是想实现这样一个目标,我想记录下所有该变量变化过的值,并能通过数据库去访问这些值,我需要怎么做?
问题补充:
看到这么多的回答我很激动,呵呵。
不过因为我之前是做软件的,从来没搞过什么PLC,wincc也是第一次用,对其中的很多东西真的不太明白,时间又很紧。
其实我现在目的很明确,只是想要把我建立的外部变量存到数据表中,以便我可以通过其他程序(比如C#)访问就行了。
最佳答案
在 WinCC Explorer -> Tag Logging 中组态变量记录,使用向导建立一个变量归档即可。
在 WinCC Explorer -> Computer -> Startup 选项卡中勾选 Tag Logging Runtime,这样 WinCC 运行起来后就按照你组态的周期归档变量值。
在画面中组态“趋势”控件或者“表格”控件可以将你的历史数据以曲线或者表格形式反映出来。
如果对数据采集周期有更高要求:
《WinCC变量归档中如何实现采集周期小于500ms的变量归档?》
http://support.automation.siemens.com/CN/view/zh/24048478
更多变量记录问题参见 WinCC 信息系统或:
http://support.automation.siemens.com/CN/view/zh/10805588/130000
至于访问数据库,《WinCC 数据开放性》一文介绍了多种访问WinCC数据库的方式。
http://www2.ad.siemens.com.cn/download/Upload/AS/application/A0459.pdf
补充:
1、大家的回答都很全面了,如果你是想先将外部变量存入 WinCC 数据库再用 C# 访问的话,可以参考:
《如何使用 C# 访问WinCC归档数据》
http://support.automation.siemens.com/CN/view/zh/26697936
2、如果你想使用 C# 直接读取外部变量,使用 OPC 即可:
《如何在 C# 中实现 OPC 数据访问》
http://www2.ad.siemens.com.cn/download/Upload/AS/application/A0315.pdf
提问者对于答案的评价:
真的非常感谢大家的回答,只可惜答案只能选一个。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc266288.html