公司最近在折腾无线传感设备,现在的情况就是多个无线传感设备读到数据了,能够正常的传至PLC(西门子S7-300系列)但是PLC通过以太网将数据显示到PC机上遇到了瓶颈。要求用C#制作一个软件,能实时的显示PLC传过来的传感器采集的数据,1秒1刷新,同时还能显示历史数据。
我的思路就是通过OPC,来实现PC机上的C#软件和PLC的通信,并且将数据存入数据库,依靠水晶报表显示历史数据和实时数据。但是在存数据到数据库方面和实时数据显示方面不知道如何下手,而且老总要求最好是用一个label来绑定一个数据,但我觉得这样可能在维护和程序更改的时候带来麻烦。希望大虾们能给个好一点的思路,用到什么样的控件?特别是数据读取和存入数据库这一块。谢谢。
c# s7.net 频繁读取plc地址值断线
在C#中使用S7.Net库频繁读取PLC地址值可能导致断线,这通常是由于网络通信负担过重、请求频率过高或资源未正确管理造成的。详细 网络通信负担过重:当使用S7.Net库与PLC进行通信时,每次读取操作都会通过网络发送请求并等待响应。如果读取操作过于频繁,网络通信量将显著增加,可能导致网络拥堵或PLC处理请求的...
C#读写PLC数据问题
首先最简单的方式就是通过mc协议, 用串口、以太网都可以。 PLC侧不需要任何编程配置好端口就可以。 C#这边 就是用套接字创建客户端,连接这个plc服务器就行,然后发送报文 指令读取 这些数据,然后将接收的数据 ,处理格式化打印就行了。直接三菱电机官网,内置以太网通讯手册就可以了。里面有详细...
关于C#读取PLC数据的问题。
其实你要是用到C#那么你读取写入数据库是很简单的,主要是你怎么从PLC采集过来。这个就是个通讯的问题。西门子应该有专门以太网通讯的案例。我之前用的是MODBUS TCP\/IP也可以通过以太网读取PLC。这个项目如果一个人做是要点时间的。通讯好像用WINSOK这个控件吧。
如何通过C#编程的方式,读取到PLC数据
PLC数据要通过串口编程或socket编程来获取。PLC一般通过RS232串口或RS485串口,与电脑进行数据通讯,或者扩展以太模块(总线扩展,或串口加装),通过以太网进行数据通讯。对应于不同的接口,通讯程序也不一样,RS232可直接接入电脑,RS485要通过特定装置转换为RS232。总线扩展的或串口加装的以太模块可以直接...
C#直接读写S7-200smartPLC的内存数据
6. 初始化程序段,实例化线程并启动。7. 建立连接按钮代码,检查网线和PLC IP地址,连接或显示错误信息。8. 读取数据按钮代码,读取指定内存数据,并显示。9. 建立读取字节方法,读取指定内存数据并返回。10. 判断连接状态方法,用于连接状态栏显示。11. 实时刷新读取数据方法,持续读取数据更新显示。12....
C#以太网上位机如何读取西门子PLC的IO点状态?
这取决于你使用的通信协议是什么,比如说你是用TCP\/IP还是MODBUS TCP。如果是TCP\/IP则PLC这边需要编写TCP服务器的程序,然后把需要对写的地址对应到相应的数据存储器里面去。如果使用MODBUS TCP,那么输入点和输出点会有对应的类型地址,如Q0.0地址为00001,I0.0地址为10001....
Visual Studio 2010--C#跟西门子1200(Sharp7)窗体控制⑨--循环读取
本期我们探讨如何将PLC的输入输出捕捉到C#窗体上,实现监控状态,上期框架搭建完成后,本期将开始编写代码。1.0 为了读取PLC输入地址数据,需要调用EBRead方法,该方法用于读取PLC输入地址数据。在本例中,从0开始到1的2个字节,共16位,相当于I0.0~I1.7。var buffer = new byte[2];\/\/读取PLC的...
如何使用C#语言,通过TCP\/UDP方式读写三菱PLC???读写是否需要先发送读写...
rebyte[i]); } MessageBox.Show("发送数据:" + strSend); strSend = null;*\/ }其中mainPort是一个全局(整个项目全局)的SerialPort对象2、接收 void mainPort_DataReceived(object sender, SerialDataReceivedEventArgs e) { string errorMsg_d = ""; try { ...
c# TCP\/IP协议求读取西门子1200数据DEMO
re = PLC.EntLink(txtLocalIP.Text.Trim(), Convert.ToUInt16(txtLocalPort.Text), txtRemoteIP.Text.Trim(), (Convert.ToUInt16(txtRemotePort.Text)), 0, 1, "DEMO", ref PlcHand);txtReLink.Text = re.ToString();if (re == 0){EntLink = true;MessageBox.Show("PLC联接成功!
...我自己需要写一个c#的程序取PLC中的数据,如何来实现?
我建议你使用三菱的MX Compenent V4版本软件,这个版本三菱中国官网已经提供了免费下载。通过这个软件你可以调用其中的相关DLL文件,基本上看看说明书你就可以写出非常好的程序了。