如何访问西门子S1500PLC的IO系统

提示:本文仅代表个人在项目中的使用看法,不参与任何真理的辩驳。


前言

在这里呢,我再说几句(充点字数),有关PLC的IO调用和分配,小白看到我这个文章或许会觉得有那么一点用,大佬看到肯定是两种心态,第一种是“什么?一堆狗屎。”,第二种是“嗯嗯,不错,我家孩子看样子长大了点。”,无论是哪种心态,只要认真看完我这篇博客并留言的,我都会悉心接受您的建议和看法并逐一回复,如果能够给我较大启发的,我就针对您的见解单独写一篇博客,并将您的CSDN账号名和图像张贴出来(得到您的允许),并指明是转载您的看法。“话说,我都快被自己的诚意感激到了”。


提示:以下PN、ProfiNET、PROFINET是一个意思,都是同一种通信方式。

一、硬件配置

硬件配置不需要真正的硬件,能够选型后组态进TIA即可。

  1. 西门子1500PLC一个,我用的是1515TF。
  2. ET200MP数字量IO(输入、输出模块)。
  3. ET200AL数字量IO、模拟量IO(输入、输出模块)。
  4. 外部设备(非西门子设备)如:FESTO 阀岛-PN通讯IO设备。
  5. 外部设备(非西门子设备)如:博世力士乐焊机-PN通讯设备。
  6. simotionD——( PLC和simotionD通讯简单介绍一部分(关于PLC))。

二、访问方式

1、S1500与ET200MP

1. ET200MP的组态

组态内容如下图所示:
ET200MP的组态插图
组态设备从左之后依次是:电源、CPU、数字量输入模块、数字量输出模块、安全数字量输入模块、安全数字量输出模块。
ET200MP的IO地址分配
ET200MP的IO分配如图所示,只需要分配起始地址即可,结束地址系统自动根据通道个数计算得出。
在这里插入图片描述
通过如上图所示的步骤就可以对IO地址进行分配IO变量的名称,如果没有及时分配,在调用的时候将会被自动创建“Tag_1”之类的名称,依次排序。这里的IO变量创建完毕之后就可以对PLC进行编译,然后在PLC变量表中能够看到。

2、ET200MP的IO调用

IO 调用如下图所示,输入“%i1.1”之后,TIA会自己将我们之前定义的变量名进行更正,所以按照以下方式进行书写,但显示的不一定是这个内容。

//***按位写入
%Q0.0 := 1 ;
%Q0.1 := False;
%Q0.2 := True;
//***按字节写入
%QB1 := 16#1F;
%QB2 := 16#FF;

//***按位读取
#Type_Bool := %i1.1 ;
#Type_Bool1 := %i1.2 ;
//***按字节读取
#Type_Byte := %iB2 ;
#Type_Byte1 := %iB3 ;

2、S1500与ET200AL

1、ET200AL 的组态

组态如下图所示:
在这里插入图片描述
按照从左至右,从上至下进行介绍:左上方第一个是主设备,ET200AL并不能直接和PLC进行连接,需要通过PN通讯进行连接,这个模块就是将ET内网的通讯转化为ProfiNET通讯,然后就可以和PLC进行通讯。
第一行后面紧接着是数字量输入模块、模拟量输入模块、模拟量输出模块、数字量输入模块、数字量输入模块。
第二行是数字量输入/输出模块、数字量输入模块、数字量输入模块。

有的朋友可能会疑惑,难道就用这么点输出吗?
我来解答一下,因为我们这个ET200AL的特殊性,她是现场I/O,现场IO就要求所有的I/O点位都是现场服务的,现场输入点全部都是传感器,输出点全部都是连接电磁阀、继电器之类的气路或其他控制电器。由于本项目所有的输出都是气缸控制,所以增加了FESTO的阀岛在这各项目里使用,简而言之就是ET200AL绝大部分I/O都是使用输入端口的,所有有关乎输出的I/O都是气路控制,使用FESTO的阀岛替代,故不需要那么多的ET200AL输出I/O。

在这里插入图片描述
由于数字量模拟量的输入输出模块和ET200MP的及其相似,所以我们直接看输入输出模块的组态:
输入输出模块需要分别分配输入地址,分配的地址后需要结合电路设计分配IO变量,如下图。
在这里插入图片描述
分配之后就可以对IO进行访问了,访问方式和ET200MP是一样的,因为都是IO变量,所以访问都是先设置地址。

2、如何知道自己都占用了哪些IO地址

在这里插入图片描述
根据如图所示的步骤就可以查看已分配IO的地址,如果想知道当前地址在哪里被调用,可以单击"地址号-常规-属性-交叉引用"里查看,并点击要跟踪的位置,可以跳转页面过去。

3、ET200AL的IO调用

IO 调用如下图所示,输入“%i1.1”之后,TIA会自己将其表示的变量名更正,所以按照以下方式进行书写,但显示的不一定是这个内容。

//***按位写入
%Q0.0 := 1 ;
%Q0.1 := False;
%Q0.2 := True;
//***按字节写入
%QB1 := 16#1F;
%QB2 := 16#FF;

//***按位读取
#Type_Bool := %i1.1 ;
#Type_Bool1 := %i1.2 ;
//***按字节读取
#Type_Byte := %iB2 ;
#Type_Byte1 := %iB3 ;

3、S1500与外部IO设备

1、阀岛的组态

在组态阀岛之前,我们需要先联系供应商如“FESTO”要有关阀岛的GSD文件。文件类型如图所示。//也可以自己下载,但是国内网站往往不好找到。

在这里插入图片描述
要到资料后需要将文件导入到西门子的硬件目录里,导入步骤如图所示。
在这里插入图片描述
导入后可以在硬件目录内找到对用GSD组态设备,将其拉出到组态界面。
在这里插入图片描述
对应子网连接好之后要对设备进行IO配置,此处需要说明一下:外部IO设备和ET200AL类似,都是IO设备挂载在一个ProfiNet模块上才能连接到西门子PLC上,这个通讯模块也是阀岛的供应商提供的,我们上一步将GSD文件拉出到组态界面就是仅组态了通讯模块,IO模块还没有组态呢,所以我们下一步的工作内容就是将IO模块组态进来。
在这里插入图片描述首先进入设备视图,如上图所示。

在这里插入图片描述
然后就是IO变量的分配。
在这里插入图片描述
首先就是地址的分配,按照以上步骤就可以对地址进行分配了,是不是很简单呢。但是一定要注意:1.分配的地址长度与选择的设备通道数量有关;2.分配的地址必须紧随其后的连续数量都是空闲的才能够分配成功,比如当前设备是四个八路通道(32路输出),如果当前Q7、Q8、Q9空闲,如果Q10被占用的话就不能将起始地址设置为Q7,因为不能连续的占用四个地址。

在这里插入图片描述

首先是点击图标回到我们的组态主页面,然后点击设备(注意:这个时候不要点击那个白色的通讯主模块,因为点击了就是对通讯主模块的属性进行设置,我们应该点击背板呢。)然后通过属性页设置IO变量。IO变量的调用和ET200MP、ET200AL是一摸一样的。

2、阀岛的IO调用

IO 调用如下图所示,输入“%i1.1”之后,TIA会自己将其表示的变量名更正,所以按照以下方式进行书写,但显示的不一定是这个内容。

//***按位写入
%Q0.0 := 1 ;
%Q0.1 := False;
%Q0.2 := True;
//***按字节写入
%QB1 := 16#1F;
%QB2 := 16#FF;

//***按位读取
#Type_Bool := %i1.1 ;
#Type_Bool1 := %i1.2 ;
//***按字节读取
#Type_Byte := %iB2 ;
#Type_Byte1 := %iB3 ;

3、S1500与外部设备进行PN通讯

1、设备的组态

设备就是博世力士乐的焊机,组态之前和阀岛一样,需要下载或者问供应商要到GSD文件,有些眼尖的朋友已经发现我在组态阀岛的时候已经组态进去了, 那么这里就着重说一下关于焊机的通讯吧。
在这里插入图片描述
**加粗样式**

首先就是焊机的通讯和IO设备是不一样的,他不能够去设置IO变量,但是只要在PLC变量表里对对应的IO进行配置就可以了,这些IO的配置需要参照焊机等设备的PN寄存器地址一一对应。
在这里插入图片描述
焊机的通讯寄存器地址以及功能。
在这里插入图片描述
PLC变量表将有用到的变量定义出来,方便后面程序逻辑使用。

2、设备的IO参数调用

IO 调用如下图所示,输入“%i1.1”之后,TIA会自己将其表示的变量名更正,所以按照以下方式进行书写,但显示的不一定是这个内容。

//***按位写入
%Q0.0 := 1 ;
%Q0.1 := False;
%Q0.2 := True;
//***按字节写入
%QB1 := 16#1F;
%QB2 := 16#FF;

//***按位读取
#Type_Bool := %i1.1 ;
#Type_Bool1 := %i1.2 ;
//***按字节读取
#Type_Byte := %iB2 ;
#Type_Byte1 := %iB3 ;

4、S1500与SIMOTIOND425

SIMOTION的组态

组态后的效果如下图所示:
在这里插入图片描述
这里只做简要表述,首先组态simotion就需要安装TIA版的SCOUT,下载地址:

https://support.industry.siemens.com/cs/document/109766964/simotion-scout-scout-stand-alone-and-scout-tia-v5-3-sp1-?dti=0&lc=en-WW

在这里插入图片描述
下载如上图所示部分,安装即可,然后重启电脑打开TIA软件,添加simotion设备。
在这里插入图片描述
组态完成之后将simotionD425的PN接口连接到子网里面:
在这里插入图片描述
对实时性“IRT“有要求的同志们可以如上图所示单独创建一个子网进行连接,我会在后续的simotion与S1500的IDevice通讯中介绍如何构建实时性。

好了,今天的分享就到这里吧,谢谢。


总结

以上就是今天的内容,本文简单的描述了西门子PLC1500的IO访问,针对后缀IO、分布IO、外围IO设备、外围PN通讯设备进行了分析。但以上仅代表个人项目中的经验,不代表任何组织、集体的发言和意见,欢迎批评。怼的不爽的加我微信:Conbo_iwork,欢迎来怼。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Conbo-biubiubiu

若于君有益,锱铢亦是动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值