当前位置: 首页 > wzjs >正文

淘宝网站建设那么便宜网站建设与管理专业就业方向

淘宝网站建设那么便宜,网站建设与管理专业就业方向,北京发布重磅消息,网站项目建设规划书案例上一篇,我们读写TCP-S7基本辅助类已完成, C#使用TCP-S7协议读写西门子PLC(一)-CSDN博客 这里,我们开始进行读写西门子PLC, 西门子PLC作为Socket通信的服务端【TCP-Server】 在读写PLC之前,我们先进行Socket-Client程序编写,用于连接TCP服务端【也就是西门子PLC】,为…

上一篇,我们读写TCP-S7基本辅助类已完成,

C#使用TCP-S7协议读写西门子PLC(一)-CSDN博客

这里,我们开始进行读写西门子PLC,

西门子PLC作为Socket通信的服务端【TCP-Server】

在读写PLC之前,我们先进行Socket-Client程序编写,用于连接TCP服务端【也就是西门子PLC】,为了方便进行,我们使用部分类partial的方式【当然使用父子继承类亦可】,

新建类文件SiemensS7ProtocolUtil.cs

SiemensS7ProtocolUtil类是部分类,需使用关键字partial

关键的几个函数

(1)连接指定的服务端

public OperateResult<Socket> ConnectPlc(IPEndPoint endPoint, int timeout = 3000) 

(2)发送字节数组读写命令并等待服务端反馈结果报文【定长报文】
返回的数据报文的前四个字节代表消息头Header 【指令头报文 03 00 00 1E 前两个0x0300是固定,第三第四 0x001E就是30个字节】

public OperateResult<byte[]> SendDataAndWaitResult(Socket socket, byte[] sendBuffer)

(3)接收一条完整的数据,使用异步接收完成,包含了指令头信息

    第一次只接收4个字节,用于校验指令头并获取后续接收的字节数【总字节个数-4】
    第二次接收剩余字节,就是【总字节个数-4】
    将两次接收的数据拼接到一起,接收反馈数据才完成

private OperateResult<byte[]> ReceiveMessage(Socket socket, int timeout)

源程序如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;namespace PlcSiemesS7Demo
{/// <summary>/// 西门子PLC的S7通信,基本Socket-Client封装/// 主要方法:///  (1).ConnectPlc(IPEndPoint endPoint, int timeout = 3000) ///  (2).OperateResult&lt;byte[]&gt; SendDataAndWaitResult(Socket socket, byte[] sendBuffer)/// </summary>public partial class SiemensS7ProtocolUtil{/// <summary>/// 西门子PLC型号,默认S1500/// </summary>SiemensPlcCategory SiemensPlcCategory { get; set; } = SiemensPlcCategory.S1500;private bool isConnected = false;/// <summary>/// 连接PLC的IP地址/// </summary>public string IpAddress { get; set; }/// <summary>/// 连接PLC的端口,默认102/// </summary>public int Port { get; set; } = 102;/// <summary>/// 连接或接收数据超时时间/// </summary>public int Timeout { get; set; } = 3000;/// <summary>/// 通讯类的核心套接字/// </summary>public Socket CoreSocket = null;/// <summary>/// 是否连接PLC并且握手两次成功/// </summary>public bool IsConnected {get {return CoreSocket != null && isConnected;}}/// <summary>/// 记录日志事件/// </summary>public event Action<string> RecordLogEvent;/// <summary>/// 连接指定的服务端,如果连接成功,返回Socket对象/// </summary>/// <param name="endPoint"></param>/// <param name="timeout"></param>/// <returns></returns>public OperateResult<Socket> ConnectPlc(IPEndPoint endPoint, int timeout = 3000) {this.IpAddress = endPoint.Address.ToString();this.Port = endPoint.Port;this.Timeout = timeout;OperateResult<Socket> operateResult = new OperateResult<Socket>();Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);socket.ReceiveTimeout = timeout;ManualResetEvent connectDone = new ManualResetEvent(false);StateObject state = new StateObject();try{state.WaitDone = connectDone;state.WorkSocket = socket;socket.BeginConnect(endPoi

文章转载自:

http://WRRcUZFf.sftrt.cn
http://Zgxgxy6m.sftrt.cn
http://5y6zcGuO.sftrt.cn
http://EpwIuKch.sftrt.cn
http://ADZadcwS.sftrt.cn
http://Y27TOlKv.sftrt.cn
http://jPR0KoLl.sftrt.cn
http://5Bd9FMVY.sftrt.cn
http://M0IsY2Pt.sftrt.cn
http://z02naWOW.sftrt.cn
http://ze8Jm0QC.sftrt.cn
http://3ePGGAcz.sftrt.cn
http://rf5uAm88.sftrt.cn
http://sFnF1hyz.sftrt.cn
http://jsCRpZ2Q.sftrt.cn
http://MfxzFEsJ.sftrt.cn
http://rwHWcSnS.sftrt.cn
http://XYog7S8e.sftrt.cn
http://VsjXnZp3.sftrt.cn
http://bcdrcZ0Z.sftrt.cn
http://LKOR8Rm8.sftrt.cn
http://taIOgd66.sftrt.cn
http://2ZiV31LJ.sftrt.cn
http://pe0R4Xpr.sftrt.cn
http://jzjRqm71.sftrt.cn
http://b9UiO44f.sftrt.cn
http://lVI5ya2C.sftrt.cn
http://G5WsSWYo.sftrt.cn
http://hMZJGQpB.sftrt.cn
http://nIfgBs3P.sftrt.cn
http://www.dtcms.com/wzjs/721693.html

相关文章:

  • 免费行情软件app网站直播下载浙江网站建设技术公司
  • 锦州网站建设更好百度网盘提取码入口
  • 企业咨询合同模板seo在线优化网站
  • 杭州职称评审系统网站大连最好的网站制作公司
  • 北京做网站费用建设个人商城网站
  • 北京网站建设有哪些网络搜索引擎优化
  • 个人博客网站建设方案做垂直网站
  • 怎么可以做网站的网站河北保定建设集团招聘信息网站
  • 怎么做租号网站网站开发实训报告总结2021
  • 企业网站功能是什么平面设计包括哪些内容
  • 做瞹瞹嗳视频网站广州专业网站建设价格
  • 做木材加工的企业网站首页前端毕业设计题目可以做哪些
  • 集团网站信息建设情况男子公众号下单做防水补漏
  • 京东电子商务网站建设果洛wap网站建设公司
  • 门户网站建设方案公司网站商城建设视频教程
  • 网站的主机地址在线自助下单网站
  • 江都建设总部网站网页制作工具大全
  • 手机网站横向切换若比邻跨境电商网站
  • 有哪些做外贸网站wordpress微信小程序模板
  • 交通建设工程质量监督局网站网站建设项目执行进度表
  • 建设网站困难的解决办法做的比较好的个人网站
  • 该网站的域名为3 如何进行网站优化设计
  • 做网站签到挣钱吗汕头网站推广系统
  • asp网站如何迁移网站内做营销活动使用工具
  • centos系统怎么做网站发帖效果好的网站
  • 免费网站怎么建大连网站建设实例
  • 网站建设注册哪类商标淘宝内部卷怎么做网站
  • 做游戏试玩网站wordpress通知插件
  • 无锡华士镇网站建设沛县微网站开发
  • 在线员工后台网站建设怎么在公司网站做超链接