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

2023-05-16

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

文章目录

  • 前言
  • 一、硬件配置
  • 二、访问方式
    • 1、S1500与ET200MP
      • 1. ET200MP的组态
      • 2、ET200MP的IO调用
    • 2、S1500与ET200AL
      • 1、ET200AL 的组态
      • 2、如何知道自己都占用了哪些IO地址
      • 3、ET200AL的IO调用
    • 3、S1500与外部IO设备
      • 1、阀岛的组态
      • 2、阀岛的IO调用
    • 3、S1500与外部设备进行PN通讯
      • 1、设备的组态
      • 2、设备的IO参数调用
    • 4、S1500与SIMOTIOND425
      • SIMOTION的组态
  • 总结


前言

在这里呢,我再说几句(充点字数),有关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,欢迎来怼。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何访问西门子S1500PLC的IO系统 的相关文章

  • 智能家居之主机--驱动层搭建

    智能家居之主机 驱动层搭建 bsp 底层驱动bsp gpiobsp adcbsp uartbsp timer 伪调度 bsp 底层驱动 bsp gpio 利用一个config h的配置文件 xff0c 把所有要使用的gpio的属性配置好 x
  • STM32串口自定义数据接收协议

    文章目录 写在前面0 需求1 问题产生1 1 模块 43 上位机实验1 2 电路板串口数据接收实验1 3 问题来了 xff01 2 开始分析2 1 串口数据格式2 2 测一波波形 3 代码分析4 新的问题 xff1a 串口数据累加总结 写在
  • 科普:电池的保护电路

    科普 xff1a 电池的保护电路 http www cnbeta com articles 204504 htm
  • 汇编语言基础知识-寄存器

    汇编语言基础知识 寄存器 寄存器是距离CPU中最近的存储单元 xff0c 对于现代CPU其获取数据的顺序往往是 CPU 61 61 gt 寄存器 61 61 gt 一级缓存 61 61 gt 二级缓存 61 61 gt 三级缓存 61 61
  • ERROR:未定义标识符“cout“、“endl“

    ERROR情况 xff1a 未定义标识符 span class token string 34 cout 34 span 未定义标识符 span class token string 34 endl 34 span 问题原因 xff1a c
  • VSCode格式化快捷键

    Shift 43 Ctrl 43 F
  • Linux内核源代码分析一(Linux0.12)

    Linux内核源代码分析一 xff08 Linux0 12 xff09 Linux 内核主要由 5 个模块构成 xff0c 它们分别是 xff1a 进程调度模块 内存管理模块 文件系统模块 进程间通信模块和网络接口模块 1 引导启动程序 x
  • Qt类继承关系以及所属模块关系一览表

    Qt类关系一览表 高清版下载 xff1a Qt类继承关系以及所属模块关系一览表 更多内容请关注个人博客 xff1a https blog csdn net qq 43148810
  • cartographer主从机rviz订阅地图出错

    参考 xff1a https answers ros org question 261071 rviz client md5sum error ERROR 1563347805 272316618 Client rviz wants top
  • Gooseeker软件使用教程

    因为课程需要使用到Gooseeker软件 xff0c 写个使用教程防止以后忘记 安装好gooseeker软件 xff0c 下图为安装好的界面 xff1a 点击右上方的 MS谋数台 xff0c 弹出如下界面 xff1a 在左上方的网址栏输入想
  • HTTP Auth认证请求(附代理)-代码篇

    2种方式 方式一 xff1a Http请求头上添加Basic Authentication认证 httpPost httpPost addHeader Authorization 34 Basic 34 43 Base64 encodeBa
  • Makefile以及CMakelists的编辑

    1 概念 在linux中不像windows和mac有图形界面 xff0c 怎么快速的用命令行运行大型项目成为一个问题 xff0c 并且像c c 43 43 需要自己添加include文件的位置 xff0c 当文件数目变多的时候 xff0c
  • python爬虫练习1:计算评分平均值

    练习要求 xff1a 抽取某本书的前50条短评内容并计算评分的平均值 提示 xff1a 有的评论中并不包含评分 代码 xff1a span class token comment coding utf 8 span span class t
  • python爬虫练习2:取道指成分股数据

    练习要求 xff1a 在 http money cnn com data dow30 上抓取道指成分股数据并将30家公司的代码 公司名称和最近一次成交价放到一个列表中输出 代码 xff1a span class token comment
  • python中sort函数的使用

    转自https blog csdn net lyy14011305 article details 76148512 我们需要对List进行排序 xff0c Python提供了两个方法 对给定的List L进行排序 xff0c 方法1 用L
  • Python序列与文件编程练习

    练习一 xff1a 使用以下语句存储一个字符串 xff1a string 61 My moral standing is 0 98765 将其中的数字字符串转换成浮点数并输出 代码 xff1a span class token commen
  • 简单平台用户信息管理系统

    要求 xff1a 用字典创建一个平台的用户信息 xff08 包含用户名和密码 xff09 管理系统 xff0c 新用户可以用与现有系统帐号不冲突的用户名创建帐号 xff0c 已存在的老用户则可以用用户名和密码登陆重返系统 实现代码 xff1
  • DataFrame小练习

    练习要求 xff1a 已知有一个列表中存放了一组音乐数据 xff1a music data 61 the rolling stones Satisfaction Beatles Let It Be Guns N Roses Don t Cr
  • nenuacm 2019 新生训练#10 字符串处理 题解

    题目链接 Ultra Fast Mathematician 解题思路 xff1a 题目说辣么多 xff0c 其实就是将两个二进制进行异或运算 xff1a 相同位上的数字相同 xff0c 异或结果为0 xff0c 否则为1 AC代码 span
  • 比较两个字符串大小(C语言)

    比较两个字符串的大小 比较两个字符串的大小 xff0c 不许使用strcmp函数 输入格式 在两行分别输入两个长度小于20的字符串 在字符串中不要出现换行符 xff0c 空格 xff0c 制表符 输出格式 直接输出 gt 或 lt 或 61

随机推荐

  • 海康web3.0使用记录

    项目中集成海康web3 0控制摄像头 近期项目中的业务需求涉及播放控制实时监控 xff0c 采用了海康web3 0的开发包 xff0c 开发包规范是32位IE11浏览器 xff0c 业务前期本来只是播放rtsp流的监控 xff0c 所以采取
  • 字符串与数字范围

    当字符串由数字组成时 xff0c 告诉你字符串的长度是length xff0c 意味着变成数字时最大会达到10length 1 比如告诉字符串长度最长为105 xff0c 那要注意数字可以达到10的105 1次方 xff0c 大约是1010
  • 如何在VS2019上配置OpenCV

    目录 前言正文1 安装Visual Studio2017 20192 配置 OpenCV https so csdn net so search q 61 OpenCV amp spm 61 1001 2101 3001 7020 2 1
  • GCC编译与Makefile基本语法

    写在最前面 xff1a 所有的博文都是为了若干年月以后当我再次翻看可以快速回想起之前的零星知识 学海无涯 xff0c 在看这篇文章的未来的你 xff0c 加油吧 xff01 目录 一 Makefile简介 二 Linux环境下的C语言编译过
  • CMake与CMakeLists是干什么的?

    写在最前面 xff1a 所有的博文都是为了若干年月以后当我再次翻看可以快速回想起之前的零星知识 学海无涯 xff0c 在看这篇文章的未来的你 xff0c 加油吧 xff01 因为之前看到有些软件中使用了CMake xff0c 不太理解为什么
  • 解决vscode智能代码提示快捷键 Ctrl+Space 无效的问题

    背景 vscode 智能代码提示除了输入时通过字符触发 xff0c 还能使用快捷键ctrl 43 space触发 xff0c 但是在 Windows 下会发现没有效果 因为这个快捷键在Windows下是系统的中文 简体 输入法 输入法 非输
  • Ubuntu系统安装、并解决Ubuntu系统网络连接激活失败问题

    Ubuntu系统安装 并解决Ubuntu系统网络连接激活失败问题 前言 1 Ubuntu安装过程中要保证网络连接稳定 2 Ubuntu安装过程要保证U盘不离开插槽 3 第一次安装请先浏览整个过程 xff0c 再进行操作 4 卸载Ubuntu
  • 激光雷达运动畸变去除方法

    文章目录 一 激光雷达运动畸变产生的原因二 为什么需要解决这个问题 xff1f 三 去除运动畸变的原理四 运动去畸变的方法1 纯估计方法 xff08 ICP VICP xff09 2 传感器辅助的方法 xff08 odom xff0c IM
  • curl下载文件的命令

    curl文件下载 curl将下载文件输出到stdout xff0c 将进度信息输出到stderr xff0c 不显示进度信息使用 silent 选项 1 curl URL silent 这条命令是将下载文件输出到终端 xff0c 所有下载的
  • 倍福ADS通讯(一)——ADS通讯简介

    ADS通讯简介 xff08 一 xff09 简介 xff08 二 xff09 ADS通讯协议概述 xff08 三 xff09 ADS通讯协议的设备标识 xff08 四 xff09 使用TwinCAT Ads中间件 xff08 一 xff09
  • 使用select的TCP服务器

    select函数详解 span class token macro property span class token directive hash span span class token directive keyword inclu
  • undefined symbol问题的查找、定位与解决方法

    今天被客户测出来一个问题 xff1a 程序执行中报错 xff0c 报错内容如下 XXXX xff1a symbol lookup error xff1a home libpdfium so xff1a undefined symbol xf
  • PRD-审批流BPM(结合企微审批引擎和结合flowable方案选择)

    前言 流程设计历来都是比较繁琐之事 xff0c 由于公司急需上线流程化的平台 xff0c 内部系统迫切需要升级 xff0c 在无产品经理的情况下 xff0c 我迎难而上 xff0c 正如 人人都是产品经理 所言 不是每个人都能以产品经理为业
  • VS Code用久了后,启动速度变慢

    目录 前提发现过程解决方法方法一方法二方法三 前提 不是因为电脑性能或者插件装太多导致的 是在使用一段时间后 xff0c 逐渐变慢 看结论直接跳转到解决方法 发现过程 困扰了很久 xff0c 这次一鼓作气找出问题 xff0c 太激动了 xf
  • ROS基础——话题、服务、动作编程

    文章目录 工作空间功能包ROS通信编程1 话题编程2 服务编程3 动作编程 参考资料 工作空间 存放工程开发相关文件的文件夹 xff0c 其中主要包括src xff0c build xff0c devel xff0c install文件夹
  • 一、ROS的五个特点

    一 ROS的五个特点 xff1a 1 点对点设计 点对点的设计通俗的讲就是一个大的工程项目 xff0c 每个动能相互是独立的 xff0c 或者耦合比较低 有一个大脑负责总的任务调度 xff0c 为服务和客户建立连接充当媒介 各个功能之间可以
  • LINK1104 无法打开文件“libboost_atomic-vc142-mt-gd-x64-1_76.lib”

    问题描述 LNK1104 无法打开文件 libboost atomic vc142 mt gd x64 1 76 lib 可能原因 xff1a 相应的包没有安装 xff0c 可以再电脑上搜一下 xff0c 是否搜索到 xff0c 如果搜索到
  • 2021-08-10

    LEGO loam第一次测试运行数据包nsh indoor outdoor成功 xff1a 记录以下 xff0c 以免自己忘记步骤 在第一个终端里 xff1a 1 source catkin ws devel setup bash xff0
  • 趣味GPS

    简介 GPS的全称是全球定位系统 the Global Positioning System 它属于美国政府 xff0c 并由洛杉矶的联合项目办公室 JPO Joint Program Office 管理 1957年 xff0c 苏联发射第
  • 如何访问西门子S1500PLC的IO系统

    提示 xff1a 本文仅代表个人在项目中的使用看法 xff0c 不参与任何真理的辩驳 文章目录 前言一 硬件配置二 访问方式1 S1500与ET200MP1 ET200MP的组态2 ET200MP的IO调用 2 S1500与ET200AL1