找回密码
 注册

QQ登录

只需一步,快速开始

搜索

西门子PLC TCP通讯组件C#源码 开源(支持S7-200/300/400/1200/1500)

[复制链接]
coolice 发表于 2020-4-19 17:24:08 | 显示全部楼层 |阅读模式
1.C#语言开发,采用NET4.0框架,模块化设计,通信效率不怎么高 可以凑合用。
2.工程结构类似OPC通讯方式,采用Tag的方式,通过标签名就可以读写寄存器。
3.采用XML配置式标签的方式实时读写PLC内部寄存器,可读写寄存器包括I、Q、PI、PA、M、DB。
4.具有PLC断线重连功能,通讯稳定可靠。
5.完全开源、包括Dll文件、附件内包含源代码。 SiemensPLC通信.zip (5.22 MB, 售价: 2 E币)
2.jpg 1.jpg

西门子PLC S7-200/300/400/1200/1500 TCP 通讯组件V2.0

工业自动化监控管理软件里面有一部分是自己用高级语言开发,一部分是用组态软件,用组态软件的组态软件的也需要买软件,虽然开发快,但价格贵而且不灵活,无法开发更加复杂的业务了,本组件面向的主要用户是采用高级开发语言(如C++,C#,VB,java等)开发监控管理系统的用户,通过通讯中间件,能够在开发软件过程中更加专注于自身的生产业务流程,而无需要考虑设备通讯的问题,大大缩短开发时间,更加提升了软件整体质量。

69.001.jpg

1.C#语言开发,采用NET4.0框架,模块化设计,二次开发使用方便。

2.工程结构类似OPC通讯方式,采用Tag的方式,通过标签名就可以读写寄存器。

3.采用XML配置式标签的方式实时读写PLC内部寄存器,可读写寄存器包括I、Q、PI、PA、M、DB。

4.具有PLC断线重连功能,通讯稳定可靠。

5.正式版功能支持至少10路PLC同时通讯,每个PLC读写点数<=20000点。

6.如需要可提供COM形式组件,供C++、VB等其他语言调用。


本软件为测试版本,仅供测试用途,测试版本会有16的变量点的限制。如需应用到现场工程,请购买正式版二次开发组件,届时将提供例程源码和函数说明文档。

syscfg.xml文件说明:

1.该文件是配置读写PLC寄存器重要文件,可根据自身项目需要配置读写的标签。

2.节点说明

Device节点:

  • ip: PLC的IP地址,这里面可以设置,代码里面也可以设置,以代码为最终设置结果。
  • PLCType:”1”: S7-200/smart系列,”2”: S7-300/400/1200/1500系列;
  • cpuSlotNO:CPU所在的槽号,S7-300的PLC一般都为"02",S7-400的PLC一般都为"03", S7-200/1200/1500的PLC一般都为"01"。
  • localTASP :S7-200/Smart需要用的参数,S7-200:"10 11",Smart:"02 01" 。其他PLC忽略,其中S7-200的TSAP设置可参考【附2】。
  • remoteTASP:S7-200/Smart需要用的参数,S7-200:"10 01",Smart:"02 00"。其他PLC忽略,其中S7-200的TSAP设置可参考【附2】。

TagGroup节点:


    • name:节点名称,全局唯一,不能重复。
    • mmtype:寄存器名称,可选 I、Q、PI、PA、M、DB、V(200PLC专用)。
    • block:DB块的地址,如地址DB100.DBW1,其中,block=100,如寄存器不为DB块,设为空值。注意,如要读DB块数据,请保证PLC里面里面已经建立了相应的DB块,并且块大小不能小于readCount,不然会出错!!!
    • beginAddress:读寄存器的起始地址,建议为偶数。
    • readCount:读的字节数,不能超过200,不然效率低。

Tag节点:

  • name:节点名称,在所属的TagGroup中的name不能重复。不同的TagGroup中的两个name可以相同。
  • address:标签地址,若读写标签是位,地址形式应该设置为 N.M(0<M<7),如“100.5”,否则为实际标签地址。该地址的的大小应不小于TagGroup节点中beginAddress的大小,且不能大于beginAddress 和 readCount的和值。
  • dataType:数据类型,可选 bool,byte,short,int,float。

【bool】:对用PLC的位(bit)类型。

【byte】:对用PLC的byte类型,位8位无符号数。

【short】:对用PLC的word类型,位16位有符号数。

【int】:对用PLC的Dword类型,为32位有符号数

【float】:对用PLC的real类型,为32位有符号浮点数。

  • desc:描述。

附1、S7-1200/1500特殊说明:


    • 针对这两种PLC,需要启用通信才可读写数据,即在TIA软件中,在CPU的属性--保护—联结机制,勾选“允许来自远程对象…”如下图:

69.002.jpg


    • 针对DB块的读写,需要进行如下操作,使得按照标准的地址进行访问,TIA软件中在对应的数据块点击鼠标右键选择属性,不勾选“优化的块访问”,如下图:

69.003.jpg


附2、S7-200TSAP的默认设置界面:


69.004.jpg
200PLC的设置图


您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|ELEOK |网站地图

GMT+8, 2024-4-19 20:47

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表