在电脑实现C#控制PLC最好安装虚拟软件进行模拟,简单且方便,那么接下来让我们一步步来

1.首先准备好材料,一共需要三个软件分别为:SIMATIC_PLCSIM_Advanced_V3.exe、TIA_Portal_STEP7_Prof_Safety_WINCC_Adv_Unified_V16.exe和po解的EKB

这篇主要是编写如何完成,安装部分简单说明一下;

这个无脑安装即可,一路下一步就行

这个也同样无脑安装

安装完成之后需要进行连接,有的可能会出现提示,显示需要连接net start npf,那么这个可能是因为没有WinPcap,给出资源链接:https://pan.baidu.com/s/1EPyb3diTJ2Ymdn0GFBcbfA 
提取码:2mzv,打开安装就可以用,安装完成之后需要管理员权限启动cmd,输入
net start npf这个命令,就可以解决了

2.安装和连接完成之后先输入一些数据

先建一个db数据块

输入一些数据

 3.对命令的解释

要明白这些都应该怎么用,首先是db的名字DB109之后是根据数据类型进行分类,不同的数据类型,后面跟着的是不一样的,其中DBW是字,DBX是位,DBD是双字,这个要明确,比如int就是

DBW,后面就是偏移量,那么连起来就是DB109.DBW.0.0

4.对程序的实现

首先是连接:

public void open(){CpuType cpu = (CpuType)(Enum.Parse(typeof(CpuType), comboBox1.Text, true));plc = new Plc(cpu, textBox1.Text, 0, 1);try{plc.Open();link = true;timer1.Enabled = true;button1.Text = "关闭";button1.ForeColor = Color.Green;}catch(Exception){Console.WriteLine($"连接到PLC设备失败:IsConnect = {plc.IsConnected}");return;}}

再是关闭:

public void close(){try{plc.Close();link = false;timer1.Enabled = false;button1.Text = "打开";button1.ForeColor = Color.Red;}catch{}}

再是读:

使用plc.Read函数

public void Read(string variable){if (link == false){Console.WriteLine("未连接,状态:",plc.IsConnected);}else{try{string[] arr = (comboBox2.Text.ToUpper()).Split('.');string val = arr[1].Substring(0, 3);Console.WriteLine(val);if (val == "DBX"){bool text1 = (bool)plc.Read(comboBox2.Text.ToUpper());bt = text1;Console.WriteLine("读取数据为:" + text1);}else if (val == "DBW") {int text2 = (ushort)plc.Read(comboBox2.Text.ToUpper());Console.WriteLine("读取数据为:" + text2);}else if(val == "DBD"){var text3 = (uint)plc.Read(comboBox2.Text.ToUpper());Console.WriteLine("读取数据为:" + text3);}}catch{}}}

最后是写:

public void write(){string nm = textBox2.Text;string mm = comboBox2.Text;string[] var = (comboBox2.Text.ToUpper()).Split('.');string val1 = var[1].Substring(0, 3);if (val1 == "DBW"){plc.Write(mm, Convert.ToInt16(nm));Console.Write("写入数据为:" + nm);}else if (val1 == "DBD"){plc.Write(mm, Convert.ToInt32 (nm));Console.Write("写入数据为:" + nm);}}

按照我的写法基本应该没问题,如果有任何疑问可与我沟通

特别的,如果有朋友实现或者安装上有问题可以咨询我哈

C#---S7.Net编写PLC通讯(从资源安装到功能实现)附代码相关推荐

  1. 三菱PLC控制步进驱动器脉冲定位相关(附代码接线图)

    步进驱动器.大部分是方向+脉冲的型式,所以接线比总线类稍显复杂,需要考虑信号电平幅度,有些需要并接限流电阻,这点需要注意. 三菱DRVI指令应用,指令解析可以参看另一篇博文: 三菱FX5U 运动控制( ...

  2. C#中使用S7.net与西门子PLC通讯

    最近因为工作的原因用到了西门子PLC,在使用过程中一直在思考上位机和PLC的通讯问题,后来上网查了一下,找到了一个专门针对S7开发的一个.net库–<S7netPlus>,PLC通讯方法比 ...

  3. 台达变频器modbus通讯控制程序 西门子s7—200型PLC和昆仑通泰触摸屏程序

    台达变频器modbus通讯控制程序 西门子s7-200型PLC和昆仑通泰触摸屏程序,带变频器使用手册,参数设置和接线说明. 可以实现频率设定,频率,电压,电流显示:正转启动,反转启动和停止控制. ID ...

  4. C# 机器视觉工控通讯------西门子PLC之S7协议上位机通讯

    C# 机器视觉工控通讯------西门子PLC之S7协议上位机通讯 使用步骤 1.引入库 项目添加应用HslCommunication.dll和代码代码如下(示例): dll官方支持网站> us ...

  5. 西门子s7 计算机通讯,西门子s7-200 plc通讯连不上怎么办?

    西门子s7-200 plc通讯连不上,解决方法: 1.将CPU打到STOP位置. 2.关闭所有的软件,尤其是占用通讯口的软件,只保留西门子S7-200plc编程软件. 3.要与西门子最新推出的西门子S ...

  6. 基于OPC协议的上位机PLC通讯 (一)

    OPC技术是通常是用于PLC和上位机通讯的一个基于COM的一个通讯组件.比如某个项目是用西门子系列的PLC控制的自动化系统通过西门子的中间件通常会安装S7-200 PC Access或者Simatic ...

  7. java plc通讯_树莓派+西门子PLC+Aliyun

    本文可能有些许标题党哈哈,因为实现的功能其实很简单! Raspberry Pi(中文名为"树莓派"),是为学习计算机编程教育而设计,只有信用卡大小的微型电脑,其系统基于Linux. ...

  8. 威纶和s7200通讯线_PLC通讯,西门子plc通讯知识汇总学习

    (一)西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置? 1)在运行组态王的机器上需要安装西门子公司提供的 STEP7 Microwin 3.2 的编程软件,我们的驱动需要调用 ...

  9. 运用C#编程通过OPC方式实现PC机与西门子PLC通讯-同步通讯篇

    1. OPC服务介绍 西门子提供的最新软件:Simatic Net PC-Software CD 2005为各种组态软件的开发提供了一个统一的平台,它建立的PC站既为一些组态软件,如:WinCC.Pr ...

最新文章

  1. 【感悟随笔】没能变强是因为你太贪图舒服了
  2. linux netty udp服务端,Netty实现UDP服务端
  3. 工业交换机的日常维护保养该怎么做?
  4. [css] css的负边距有哪些应用场景?
  5. 赋值给集合_ArrayList集合源码
  6. Python爬虫入门_之urllib2urllib
  7. 简历人才库系统_人才招聘简历的3种选择
  8. 大数据之-Hadoop完全分布式_Crondtab定时任务调度---大数据之hadoop工作笔记0042
  9. 在线CSV转XML/JSON工具
  10. usmssosetup 单点登录被禁用_单点登录系统,如果cookie被禁用了怎么办
  11. 初步使用计算机教学案列,信息技术与学科教学整合教学案例
  12. 英语对于软件开发者来说到底有多重要?
  13. 《关键对话:如何高效能沟通(原书第2版)》 摘录及总结
  14. 【12c】12c RMAN新特性之UNTIL AVAILABLE REDO--自动恢复到REDO终点的步骤简化
  15. DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN
  16. Cocos2d-x 2013春季新功能发布和发展规划
  17. ch340t电路_ch340g电路图5v和3.3v供电电路
  18. 十二个SOLIDWORKS使用小技巧,解决日常绘图令你抓狂的瞬间!
  19. 社招前端二面react面试题整理
  20. NRF52x开发环境搭建详解

热门文章

  1. 使用Python测试霍夫圆检测
  2. ApacheCN 翻译/校对活动进度公告 2022.5.4
  3. 2021 前端工程师 面试题(仅题目)
  4. 瓷砖覆盖地板c语言程序,瓷砖覆盖地板的扩展问题
  5. Turtlebot2基于kinect V1实现gmapping建图(1)
  6. Row_number()函数用法
  7. VTK顶点 面片颜色 呈现
  8. linux php 修改文件名,Linux修改文件名的两个方法 - rename和mv命令使用
  9. python长表转换宽表_Pandas数据变换-长宽表互换
  10. putty + xming 操作linux 图形化工具(亲测)