6ES7318-3EL01-0AB0代理商西门子300
更新:2025-01-22 08:50 编号:27579696 发布IP:175.13.200.46 浏览:11次- 发布企业
- 湖南西控自动化设备有限公司商铺
- 认证
- 资质核验:已通过营业执照认证入驻顺企:第1年主体名称:湖南西控自动化设备有限公司组织机构代码:91430100MA7BLNUT58
- 报价
- 请来电询价
- 西门子
- S7-300CPU
- CPU
- 6ES73183EL010AB0
- 德国
- CPU 319-3 PN/DP
- 关键词
- 西门子PLC代理,西门子变频器代理,西门子伺服电机代,西门子工控机代理,西门子触摸屏代理
- 所在地
- 中国(湖南)自由贸易试验区长沙片区开元东路1306号开阳智能制造产业园(一期)4#栋301
- 联系电话
- 17838383235
- 手机
- 17838383235
- 经理
- 徐嘉泉 请说明来自顺企网,优惠更多
详细介绍
一个连接西门子plc设备的.net库,搞自动化的有福了!
【导读】推荐一个连接西门子PLC的.net库,包括使用方法以及代码。
前言
PLC在工业自动化领域是常用的控制器,一般在和上位机界面通讯时,经常使用组态软件。以西门子PLC为例,上位机可以使用西门子的WINCC。当面对需求比较多样化的需求时,WINCC难以胜任。作为量产的标准化产品,WINCC授权的费用一笔不小的成本。S7.Net.dll是应用在 .NET平台上和西门子PLC通讯的一个动态库。大家可以到GitHub中直接去下载,或者直接搜索“S7.Net.dll”也可以找到下载的链接。文章后也会给出链接。
(一)S7Net动态库说明
目前该动态库支持的西门子PLC类型有S7-200,S7-300,S7-400,S7-1200和S7-1500,基本涵盖了西门子所有的PLC产品。该库可以直接读写PLC中的全局DB块,作为通讯的接口。
下面对需要的一些函数以及数据类型做简单说明。构造函数:cpu 为枚举类型,代表PLC类型。ip为PLC地址,需要和PLC组态的地址一致,和通讯的PC IP地址应在同一局域网段。rack 为导轨号,slot为插槽号,均可在博途硬件组态处获得。
如下图所示,ip=“192.168.0.5”。
如下图所示,rack为0,slot为1。
public Plc(CpuType cpu, string ip, short rack, short slot);
public enum CpuType
{
S7200 = 0,
S7300 = 10,
S7400 = 20,
S71200 = 30,
S71500 = 40
}
获取是否连接成功:
public bool IsConnected { get; }
连接PLC:
public void Open();
public Task OpenAsync();
该类库提供了两个用于PLC连接的函数,区别在于第二个为异步连接,在请求连接的过程中,不会导致线程阻塞。我个人比较喜欢第二种方式。
按位写操作:参数db代表访问的DB块编号,如下图所示UISendInt编号为3,UIReadInt编号为4。
startByteAdr是在数据块内以字节为单位的起始地址,可以传入0。bitAdr为需要操作的位的偏移地址(以startByteAdr为基准),value为写入的值。dataType为枚举类型,我们操作的是数据块,传入DataBlock。
public void WriteBit(DataType dataType, int db, intstartByteAdr, int bitAdr, bool value);
public enum DataType
{
Counter = 28,
Timer = 29,
Input = 129,
Output = 130,
Memory = 131,
DataBlock = 132
}
按字节读:count代表读的字节数量。在进行按字节读写时,对于8位的单字节变量来说没有任何问题。对于多字节比如在PLC中16位I的INT类型,需要注意大小端问题。在西门子PLC中以大端模式存储数据,在Intel的X86架构的PC上,却是以小端模式。在从PLC读取一个INT类型的变量,需要将读取回来的字节数组高低字节调换,后面C#程序中会有详细的实现代码。
public byte[] ReadBytes(DataType dataType, int db, intstartByteAdr, int count);
按字节写:value代表将要传输的数据转换成的字节数组,如果要操作一个INT变量,需要提前将高低字节调换,后面C#程序中会有详细的实现代码。
public void WriteBytes(DataType dataType, int db, intstartByteAdr, byte[] value);
(二)PLC设置
实现外部程序可以访问操作DB块,需要对PLC部分做一些设置。对于要读取或者访问的DB块,要将优化的块访问取消,默认为勾选的,选中块右击选择属性。
还要在硬件组态中,设置防护与安全中的连接机制。将“允许来自远程对象的PUT/GET访问”勾选。如下图:
(三)C#程序
在C#上位机软件中,对通讯类库的函数做一个简单的包装,以方便我们使用。新建一个类S7,在项目中需要引用S7.NET,并在该类中包含命名空间。
using S7.Net;
定义一个Plc类型变量plc,并定义该类的构造函数和析构函数:
Plc plc;
public S7(S7DataType.CpuType cpuType,string ip,Int16 rack,Int16slot)
{
plc = new Plc((CpuType)cpuType,ip, rack,slot);
}
~S7()
{
this.plc.Close();
}
定义连接函数以及关闭函数:
public void OpenAsync()
{
this.plc.OpenAsync();
}
public void Close()
{
this.plc.Close();
}
定义读写函数:之加lock,是因为在应用中数据通讯很有可能在不同的线程去操作,比如单独开一个线程定时从PLC更新数据。
public byte[] PlcReadBytes(int db, int startByteAdr=0, intcount=1)
成立日期 | 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
- 6ES7317-2EK14-0AB0西门子代理商300西门子:S7-300CPU
- 6ES7317-2AK14-0AB0西门子CPU317-2DP西门子:S7-300CPU
- 6ES7315-2EH14-0AB0西门子300CPU代理商西门子:S7-300CPU
- 西门子300代理商6ES7315-2AH14-0AB0西门子:S7-300CPU
- 6ES7314-6EH04-0AB0西门子300CPU314C-2PN/DP西门子:S7-300CPU
- 西门子总代理6ES7315-7TJ10-0AB0西门子:S7-300CPU
- 6ES7317-7TK10-0AB0西门子300全系列西门子:S7-300CPU
- 6ES7953-8LG31-0AA0西门子300内存卡西门子:S7-300PLC
- 6ES7953-8LF31-0AA0西门子存储卡西门子:S7-300PLC
- 6ES7953-8LJ31-0AA0存储卡西门子代理商西门子:S7-300PLC