·点击蓝字·关注我们 NEW TERM
软件:
1.TIA Portal V16,S7-PLCSIM Advanced V3.0
2.Visual Studio
一, 下位机:PLC服务器设置
1. 程序编写
程序如图1.1.1-图1.1.4所示。

图1.1.1 建立通讯

图1.1.2 发送数据

图1.1.3 接收数据

图1.1.4 建立发送数据数据块
2. 参数设置
在连接属性中设置参数,PLC作为服务器,其IP地址为192.168.0.1,端口号为2000。(这里用PLCSIM Advanced仿真,端口IP地址为192.168.0.241,如图1.2.1所示。)

图1.2.1设置参数
二, 上位机:利用窗体应用完成数据接收
1. 建立窗体样式
窗体样式如图2.1.1所示。

图2.1.1 连接界面
2.编写代码
实现连接并显示数据。
//创建socket(TCP协议封装)private Socket Tcpclient;//创建取消数据源private CancellationTokenSource cts = new CancellationTokenSource();private void button1_Click_1(object sender, EventArgs e){if (this.button1.Text=="连接"){//实例化socketthis.textBox3.Text = s;Tcpclient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);EndPoint EP = new IPEndPoint(IPAddress.Parse(this.textBox1.Text), int.Parse(this.textBox2.Text));try{Tcpclient.Connect(EP);}catch (Exception ex){MessageBox.Show("连接失败:" + ex.Message);return;}MessageBox.Show("连接成功:");this.button1.Text = "断开";this.textBox3.Text = s;Task.Run(new Action(() =>{GetPLCValue();}));}else{Tcpclient?.Close();this.button1.Text = "连接";}}
接收数据设置 。
private void GetPLCValue(){byte[] data = new byte[1024*10];int recv = Tcpclient.Receive(data);String result = System.Text.Encoding.Unicode.GetString(data, 0, recv);Tcpclient.Shutdown(System.Net.Sockets.SocketShutdown.Receive);s=result;}
三, 项目演示
将博途程序下载到PLCSIM Advanced中,利用仿真PLC通讯,效果如图3.1.1-图3.1.2所示。

图3.1.1 上位机与PLC建立连接成功

图3.1.2 上位机接收到字符“E”


发现“分享”和“赞”了吗,戳我看看吧
文章转载自众智创新团队,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




