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

c#的几种通信

什么是PLC

PLC又叫做可编程控制器,它是一个以微处理器为核心的数字运算操作的电子系统装置,专为在工业现场应用而设计,它采用可编程的存储器,用以在其内部存储执行逻辑运算,顺序控制,定时/计数和算术等操作指令。并通过 数字式/模拟式的输入输出接口,各通讯模块或智能模块控制各种类型的机械或生产过程。

I0.0-I0.7 I1.0-I1.7 I2.0-I2.7 .....在软件中仿真只能通过强制 所以仿真用M代替I点(I代表按钮 传感器)

M0.0-M0.7 M1.0-M1.7 M2.0-M2.7

Q0.0-Q0.7 Q1.0-Q1.7...(Q代表设备、电机、电磁阀、一些得电工作的设备)

串口通信

  SerialPort serialPort = new SerialPort();//创建了一个新的 SerialPort 对象serialPort.PortName = "COM3";//设置 serialPort 的端口名称为 "COM3"serialPort.BaudRate = 9600;//设置串口的波特率(数据传输速率)为 9600serialPort.DataBits = 8;//设置数据位为 8 位serialPort.Parity = Parity.None;//设置奇偶校验为无serialPort.StopBits = StopBits.None;//设置停止位为无serialPort.Open();//打开串行端口以准备数据传输。一旦串口被打开,就可以进行读写操作。//需要注意的是,同一个串口在同一时刻只能被打开一次serialPort.Write("Hello SerialPort");//向串口写入字符串 "Hello SerialPort"

c#以太网通信

Socket socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
socket.Connect("127.0.0.1", 8000);byte[] data = Encoding.ASCII.GetBytes("hello server");socket.Send(data);//发送byte[] buffer = new byte[1024];socket.Receive(buffer);//接收数据

Socket 类是.NET Framework中用于网络通信的基础类。

AddressFamily.InterNetwork这个参数指定了地址族,AddressFamily.InterNetwork 表示使用的是 IPv4 地址族。IPv4 是互联网上使用最广泛的 IP 地址版本。

SocketType.Stream这个参数定义了套接字的类型。SocketType.Stream 表示这是一个面向连接的、可靠的、基于字节流的套接字,通常用于 TCP(Transmission Control Protocol)连接。

ProtocolType.Tcp这个参数指定了使用的传输协议。ProtocolType.Tcp表示使用 TCP 协议,这是一种面向连接的、可靠的字节流服务,常用于需要可靠传输的应用,比如网页浏览和文件传输。

Connect是 Socket 类的一个方法,用于指示套接字开始建立到指定服务器的连接。

"127.0.0.1":这是IP地址 代表本地回环地址,也就是运行这段代码的计算机本身

8000:这是端口号,表示要连接的远程服务监听的端口

Socket的通信场景

上位机tcp通信 客户端 主动向服务端发送连接请求,plc(服务端)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • MybatisPlus 一些技巧
  • 透明加密软件哪个好?这5款好用的加密软件尽在你眼前!
  • InspireFace-商用级的跨平台开源人脸分析SDK
  • Spring框架:核心概念与Spring Boot微服务开发指南
  • 地理信息科学在交通规划中的应用:GIS绘制智慧出行新蓝图
  • 【益起童行】为“来自星星的孩子”点亮希望之光
  • 【LeetCode】有效的数独
  • Python考前复习
  • 微信小程序:rpx详解,使用 tailwindcss最佳方案rem转rpx
  • 一文1500字从0到1搭建 Jenkins 自动化测试平台
  • DDOS 攻击原理
  • ARM功耗管理之多核处理器启动
  • LLM之RAG实战(四十一)| 使用LLamaIndex和Gemini构建高级搜索引擎
  • 都24年了那些你不知道的AI副业渠道!AI绘画商业案例大揭秘!
  • 77.MySQL的分页查询
  • 【译】JS基础算法脚本:字符串结尾
  • canvas绘制圆角头像
  • Computed property XXX was assigned to but it has no setter
  • JS+CSS实现数字滚动
  • JSDuck 与 AngularJS 融合技巧
  • ReactNative开发常用的三方模块
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 构建工具 - 收藏集 - 掘金
  • 回顾2016
  • 机器学习学习笔记一
  • 讲清楚之javascript作用域
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • ​TypeScript都不会用,也敢说会前端?
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • # wps必须要登录激活才能使用吗?
  • #{}和${}的区别?
  • #android不同版本废弃api,新api。
  • #VERDI# 关于如何查看FSM状态机的方法
  • $.proxy和$.extend
  • (1)SpringCloud 整合Python
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (回溯) LeetCode 40. 组合总和II
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (四)Android布局类型(线性布局LinearLayout)
  • (一一四)第九章编程练习
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)Google的Objective-C编码规范
  • (转)负载均衡,回话保持,cookie
  • .ai域名是什么后缀?
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .net core 控制台应用程序读取配置文件app.config
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET/C# 使用反射注册事件
  • .NET6 命令行启动及发布单个Exe文件
  • .Net面试题4