Siemens西门子代理商6ES74681DB000AA0
更新:2025-01-12 08:50 编号:30876357 发布IP:175.13.204.236 浏览:8次- 发布企业
- 湖南西控自动化设备有限公司商铺
- 认证
- 资质核验:已通过营业执照认证入驻顺企:第1年主体名称:湖南西控自动化设备有限公司组织机构代码:91430100MA7BLNUT58
- 报价
- 请来电询价
- 所在地
- 中国(湖南)自由贸易试验区长沙片区开元东路1306号开阳智能制造产业园(一期)4#栋301
- 联系电话
- 17838383235
- 手机
- 17838383235
- 经理
- 徐嘉泉 请说明来自顺企网,优惠更多
产品详细介绍
PLCSIM Advanced 简介
PLCSIMAdvanced是西门子推出的一款功能强大的仿真软件,目前新发布的版本为4.0,但鉴于新版本可能存在未知的bug,故本文使用V3.0。
V3.0支持仿真1500PLC及ET200SP,可实现Socket网络通讯功能,也可实现PLC之间、PLC与设备直接的ModbusTCP等通讯。
V3.0安装时需要先安装WinPcap_4_1_3,V4.0则不需要。
以下为两个版本的官网下载链接,下载时需要西门子账号,可以免费注册。
以下为V3.0下载链接:
PLCSIM Advanced V3.0
V3.0的两个升级包(可选安装)
以下为V4.0下载链接
PLCSIM Advanced V4.0
S7 Net Plus 简介
西门子PLC通讯库,支持200、200smart、300、400、1200、1500系列PLC。
说明文档
配置PLCSIM Advanced
打开PLCSIM Advanced V3.0,如下图:
Online Access要选择右边的PLCSIM VirtualEth.Adapter,左侧的PLCSIM不支持外部网络访问。
TCP/IP communication with可选以太网或者是本地虚拟网卡。local即为本地虚拟网卡,是在安装PLCSIMAdvanced时自动安装的网络适配器。打开控制面板-->网络和 Internet-->网络连接,SiemensPLCSIMVirtual Ethernet Adapter就是此虚拟网卡。使用虚拟网卡只能在本机进行通讯仿真,而使用以太网则可以在局域网内进行仿真通讯。
Start Virtual S7-1500PLC为PLC设置,包括IP地址、子网掩码、默认网关及PLC型号。设置完成后点击Start按钮则会生成一个PLC实例。创建成功后就可以开始通讯仿真了。
Virtual SIMATIC Memory Ca为打开保存PLC历史记录的文件夹的按钮。
如下图所示,在Active PLC Instance(s)可以看到已成功创建的PLC。
下载测试DB块
在TIA Protal软件中,添加一个S7-1511的设备,在程序块中添加一个新的DB块,DB号设置为10。
打开设备的属性 --> 防护与安全 -->连接机制,勾选“允许来自远程对象的PUT/GET通讯访问”。
打开设备的属性 --> PROFINET 接口 [X1]-->以太网地址,按需设置PLC的IP地址。
打开DB10的属性,取消勾选“优化块的访问”,并在DB10中新建如下图所示的变量,编译完成后则可以得到每个变量的偏移量,即此变量在DB10上的地址。
设置完成后,下载到刚刚使用PLCSIM Advanced创建的仿真PLC中,需要注意网段要设置成与仿真PLC同一网段。
引用S7NetPlus
创建一个测试程序,此处创建的是一个控制台应用程序。
在NuGet下载S7NetPlus,如下图所示,版本可按需选择
新建一个名为PLCInstance的类,创建PLC单例。
读写数据
S7NetPlus提供了多种读写的方式,可以读取字节自行解析或者按照指定格式写入字节,也可以指定地址进行读写,还可以使用变量、结构体或者类进行单个或者批量读写。
1、指定地址读写
这种方法可以在Read方法中以字符串形式传入需要读取的地址,返回的是Object类型的值,需要使用者自行做类型转换。Write方法则同理,以字符串的形式指定需要写入的地址,并在第二个参数传入需要写入的值,需要注意西门子PLC内的数据类型与C#的数据类型的对应。以下为读写DB10的0.0地址上的布尔量的值示例,此方式均支持读取与写入。
这种方式比较简单且方便,它是作者不推荐的方式,文档中原文如下:
This method reads a single variable from the plc, by parsing thestring and returning the correct result. While this is the easiestmethod to get started, is very inefficient because the driver sendsa TCP request for every variable.
意思就是,这种方法会通过解析传入的地址字符串来获取需要读写的地址,对于使用者来说是非常简单的使用方式,S7NetPlus会为每个通过这种方式读写的变量生成一个新的TCP请求,在读写多个变量时,执行效率会比较低。
S7NetPlus使用的通讯本质上是西门子的S7通讯,通过发送七层通讯报文来建立与西门子PLC的TCP连接,后续也是根据S7通讯的通讯协议生成并发送报文来实现PLC的数据读写。当使用这种方式读写多个变量的时候,S7NetPlus内部为每个变量重复建立新的S7连接与发送读写报文的操作,而不是单个连接成功建立后在这个连接上进行批量的读写。
简单理解就是这种方式效率比较低,会占用更多的资源。
2、解析读写
这种方法需要指定DB的类型、DB号、起始地址、PLC数据类型及读取数量。它需要传入的参数变多了,当需要读取多个地址连续且类型相同的变量时,仅需修改后的读取数量,S7NetPlus就会自动读取这一连串的地址,并按照指定的变量类型解析出对应的值,文档中后面说到的多类型变量批量读取也是基于这种方法的。这种方式读取PLC内的字符串类型时,仍存在bug,当需要读写字符串的时候,推荐使用本文后面提及的字节读写的方式。
示例如下:
Read:
个参数是DB的数据类型,可以是DB、定时器、计数器、Merker(内存)、输入、输出。
第二个参数是DB号。
第三个参数是起始地址。
第四个参数是PLC内该变量的类型。
第五个参数是需要读取的个数。
Write:
个参数是DB的数据类型,可以是DB、定时器、计数器、Merker(内存)、输入、输出。
第二个参数是DB号。
第三个参数是起始地址。
第四个参数是需要写入的值。
3、字节读写
这种方法将会读取指定DB块上一段连续的地址上的字节,不做任何解析直接以字节数组的形式返回。
个参数是DB的数据类型,可以是DB、定时器、计数器、Merker(内存)、输入、输出。
第二个参数是DB号。
第三个参数是起始地址。
第四个参数是读取的字节数。
要使用这种方式读写数据,则需要非常熟悉PLC内各类型数据存储的格式,可以自行将读取上来的字节进行解析以获得所需数据。
这种方式理论上能读写任意的数据,解析数据的过程会比较麻烦,若非万不得已,个人建议尽量少用。
此处仅提供PLC内String类型及WString类型的读取示例。
在S7-1500中,一个String类型的变量占用256个字节,个字节是总字符数,第二个字节是当前字符数,真正的字符数据是从第三个字节开始的,共254个字节。
同理,WString类型其实就是双字节的Sring,也就是说一个字符占用两个字节,一个WString类型的变量占用512个字节,、二个字节是总字符数,第三、四个字节是当前字符数,真正的字符数据是从第五个字节开始的,共508个字节。
按照以上示例的方法,读取上来的字符串后面会带很多个"�"的字符,那是因为后面的空字节也读取上来了,正式使用时可以考虑使用.Replace("�","")来去除,或者解析第二个字节来获取字符长度进而转码。
当写入字符串时,则需要根据不同的数据类型来生成对应字符串的字节数组,将该数组写入到指定地址中即可。
需要注意的是,String类型的编码格式对应的是ASCII,而WString的则是C#中的BigEndianUnicode格式。在WString中,由于总长度与当前字符数是都是双字节数,在转换成字节数组的时候存在高低字节顺序问题。在这里就有一个大坑:这两个变量在C#中转换出来的字节数组跟PLC中存储的,高低字节是反过来的。这也就是为什么下面的WString的示例中需要对总字符数和当前字符数的两个字节数组进行反转。
此处提供一种生成String类型和WString的字节数组的方法,可供参考:
使用示例如下:
4、旧版本的字节读取注意事项
旧版本的单次字节读取是有字节数限制的,每一次读取的大字节数为200,如果需要读写更多的字节,则需要多次读写并进行拼接,以下提供两种方法,可供参考:
在读取一两千个字节的情况下,这两种方法速度都差不多,递归会稍微快一点点。新版本没有单次读取限制,正常情况下是不需要这两个方法的。
5、其余读取方式
其它的读取方式可参考文档,本文不再赘述。
读取数据示例
PLCInstance:
主程序:
运行结果:
结尾
本文简单介绍了S7 Net Plus和PLCSIMAdvanced的使用,以上内容均由本人亲自实践得出的结果,但仍有可改进的的地方。S7NetPlus的文档也有非常详细的介绍,如有更复杂的读写需求,可以参考文档。
成立日期 | 2021年10月19日 | ||
法定代表人 | 吴阳祥 | ||
注册资本 | 5000000 | ||
主营产品 | 西门子一级代理商 PLC 变频器 工控机 伺服电机 触摸屏 软件 电线电缆 电源 S7-200CN S7-200SMART S7-300 S7-400 S7-1200 S7-1500 ET-200 全新原装正品 全国服务 | ||
经营范围 | 其他未列明制造业;工程和技术研究和试验发展;电气设备的批发、系统集成;电子产品、五金产品、电线、电缆、电工器材、通讯设备及配套设备、机械配件、仪器仪表的批发;工业自动化设备、机电产品、电子元件及组件、电子产品零部件、发电机组、高低压成套设备、计算机应用电子设备、电气机械设备、高低压电器销售;工业自动化设备、电子仪器、五金机电产品、电气技术的研发;智能化技术服务;办公设备零售;机电设备的维修及保养服务(限分支机构);通用设备修理(限分支机构);自动化控制系统的研发、安装、销售及服务;机电设备安装服务;电子技术咨询;电子技术转让;计算机技术开发、技术服务。(依法须经批准的项目,经相关部门批准后方可开展经营活动) | ||
公司简介 | 公司是中国西门子授权代理商,销售商品为全新原装,签正规的产品购销合同,可开增值税发票,24小时热线---徐17838383235。公司是中国西门子授权代理商,销售商品为全新原装,签正规的产品购销合同,可开增值税发票,24小时热线---徐17838383235。西门子中国授权代理商、西门子一级代理商、西门子PLC代理商--------------湖南西控自动化设备有限公司我司主要业务为西门子自动化产 ... |
- 西门子代理商6SE6420-2AD25-5CA1湖南西控自动化设备有限公司是一家级代理工业自动化控制设备跨国经营的贸易型企业,是... 2025-01-10
- 西门子代理商6ES7365-0BA01-0AA0湖南西控自动化设备有限公司是一家级代理工业自动化控制设备跨国经营的贸易型企业,是... 2025-01-10
- 西门子授权德国代理商6ES7341-1CH02-0AE06ES7341-1CH02-0AE0湖南西控自动化设备有限公司是一家级代理工业自动化控制设备跨国经营的贸易型企业,是... 2025-01-10
- 西门子代理商6ES7392-1AJ00-0AA0湖南西控自动化设备有限公司是一家级代理工业自动化控制设备跨国经营的贸易型企业,是... 2025-01-10
- 西门子授权服务代理商6ES7321-1BH02-0AA0湖南西控自动化设备有限公司是一家级代理工业自动化控制设备跨国经营的贸易型企业,是... 2025-01-10