欢迎来到西门子工业支持中心网站!

  1. 移动端入口
    • 工业服务小程序
    • 支持中心移动端首页
    • 智能小西-智能问答与在线预约
    • SIEMENS工业找答案小程序
    • SIEMENS工业专家大讲堂小程序
    • 西门子工业1847俱乐部
    • 自动化So酷
  2. 签到有奖
  3. 登录后可享:

    学技术视频
    查海量资料
    论话题经验
    问常见问题
    立即登录

    还没有账号?

    立即注册
  4. 会员
  5. 消息

    登录后可查看消息记录

    立即登录
  6. 收藏

    登录后可查看收藏记录

    立即登录
  7. 历史

    登录后可查看历史记录

  8. 公告
搜索

热搜词:1847工业学习平台选型过程调节器选型

  • 技术支持
    • 首页
    • 智能小西-自动预约
    • 风驰卡
    • 产品入门
  • 下载中心
    • 首页
    • 售前文档(样本、宣传册等)
    • 售后文档(FAQ、手册等)
  • 工业学习平台
    • 首页
    • 了解会员权益
    • 立即开通1847会员
  • 培训认证
    • 首页
    • 取证训练营
    • 教室培训
    • 证书查询
  • 技术论坛
    • 首页
    • 最新发帖
    • 精华帖
    • 发新帖
  • 找答案
    • 首页
    • 已解决问题
    • 精华常见问题
    • 发布新问题
  • 售后服务
    • 首页
    • 提交服务需求
    • 查询服务进程

西门子官方商城

西门子中国
  • 工业自动化
  • 驱动技术
  • 客户服务
  • 冶金技术
  • 行业市场解决方案
  • 工业支持中心
工业支持中心
  • 我的支持中心
  • 下载中心
  • 全球技术资源
  • 1847工业学习平台
  • 产品入门新手必读
  • 找答案
  • 技术论坛
  • 售后服务
  • 网络资源新手必读
  • 高级搜索
技术论坛
  • 论坛公告
  • 用户指南
  • 用户排行榜
  • 热门帖子
  • 最高收藏帖
  • 精华帖
  • 分享帖
  • 高端推荐帖
  • 在线用户列表
  • 论坛管理
特别专题 / 西门子工业1847俱乐部
畅学技术 | S7-200 SMART 编程技巧及实例分享
 • 产品分类
自动化系统
    SIMATIC S7-1500(T) 
    SIMATIC S7-1200 
    SIMATIC S7-200
    SIMATIC S7-200 SMART 
    SIMATIC S7-300/400 
    SIMATIC S5
    SIMATIC Net
    Profinet技术开发专区
    工业边缘计算
    SIMATIC WinCC / Panel 
    SIMATIC WinCC OA (原PVSS)
    SIMATIC PCS 7
    IPC/PG
    LOGO!
    SIMATIC IOT2000
    工业电源
驱动技术
    MicroMaster 
    MasterDrives
    直流调速器
    电机
    SIMOTION
    SINAMICS 
    驱动技术综合产品
数控系统
    SINUMERIK 
    SIMODRIVE
低压电器
    低压电器
传感器与通讯
    过程仪表
    分析仪器
    工厂传感器
谈天说地
    谈天说地
 • 咱工程师的故事
网友专栏
    网友专栏 
1847大咖专栏
    电气传动系统漫谈
    崔工谈博途与PLC
    漫谈SCADA进阶之路
    运动控制产品天地
    聊聊收放卷
    运动控制应用天地
    驱动诊断
    西家讲师教学精要
    漫谈过程自动化
    PROFINET工业通信详解
    冯工聊工业网络
    EMC问题及处理
特别专题
    专家大讲堂课后探讨
    西家技术派
    专家诊断专栏
    西家传动
    自动化so酷
    西门子工业1847俱乐部
 • 培训与认证答疑专区
培训与认证答疑专区
    S7-1200精英训练营
    WinCC精英训练营
    S7-200SMART精英训练营
    小型自动化系统
    V90精英训练营
    G120变频器精英训练营
    PLC编程精英训练营
 • 服务合作伙伴专区
服务合作伙伴专区
    西门子工业技术π圈
    Networks and Communication
    GMC蓝黄带考试-G120
    GMC蓝黄带考试-V90
    GMC 合作伙伴专区
  • 畅学技术 | S7-200 SMART 编程技巧及实例分享
  • 作者: 1847会员 羲发布时间:2021-11-01 15:27:29浏览次数:6883次 官方 回复本帖
  • 西门子工业官方学习订阅号

    汇聚工业领域的学习型人才

    传递工业自动化和数字化方面的专业知识

    分享全面的行业经验

    让我们一起学习、持续创新、共塑未来

    S7-200 SMART在编程中常见问题解析

    工欲善其事必先利其器,在日常的程序编辑和调试过程中,可能会遇到各种各样的问题,比如编辑好的逻辑程序执行结果不正确,编译正常的程序下载到不同的CPU中,有些可以下载,而有些提示非致命错误等等,此时如何快速的排查和分析错误发生原因就非常重要,而排查和分析的前提就需要对S7-200 SMART从软件和硬件上有更加深入的了解,下面我们就通过几个典型的案例来进行问题的分析。

     案例 1 

    首先看图1这段程序,编译无任何问题,如果下载到不同类型的CPU中,表现就会不同,我们可以尝试下载到ST60和CR60两种类型的CPU中。

    18.jpg

    图1   主程序

    下载到ST60中,程序运行正常,如果下载到CR60中,程序运行就会报非致命错误:操作数非法(错误码:0090),图2为具体的非致命错误信息:

    19.jpg

    图2   PLC信息

    根据程序分析错误出现的原因和中断有关,可以查询S7-200 SMART系统手册中断章节可以找到对应答案,如表1所示,24号中断事件CR60不支持,所以在运行时会报错非致命错误。

    20.jpg

    表1

    综上,当需要程序在多个不同类型CPU之间下载或者移植时,就需要提前了解各个CPU的程序容量大小、支持的数据区的大小,断电保持区域大小,是否使用到了CPU不支持的功能或者CPU固件版本是否支持等因素,只有了解了这些,才能做到有的放矢。

     案例 2 

    在日常编程过程中,我们可能需要各种标准库,有时需要子程序和中断程序有多重调用关系,例如下面这个案例,程序想使用格雷码转换库在定时中断中每隔100ms进行一次数据的格雷码转换,请看图3:

    21.jpg

    图3   主程序

    22.jpg

    图4   子程序

    程序的调用关系为:中断子程序INT0调用子程序SBR1,SBR1中调用子程序SBR2,SBR2中的程序如图4所示,下载到CPU中,通过状态图表监视程序状态,发现没有结果输出,如图5所示:

    23.jpg

    图5   状态图标监控无输出

    进一步监控PLC信息,可以看到图6的非致命错误报警:超出最大用户子例程嵌套级别(错误码:0008)

    24.jpg

    图6   PLC信息

    S7-200 SMART手册中规定:从主程序调用子例程的嵌套深度是 8 级,从中断例程调用嵌套深度是 4 级。

    现在来看上述程序的调用关系:

    INT0→SBR1→SBR2→GRAY_BIN_DW,表面上也仅仅嵌套了3级,满足中断嵌套深度要求,但是仔细查看GRAY_BIN_DW功能库可以发现,该库也嵌套了几层,嵌套关系如下:

    GRAY_BIN_DW→GRAY_BIN→XOR,这样下来,嵌套关系就变成如下:

     INT0→SBR1→SBR2→GRAY_BIN_DW

    →GRAY_BIN→XOR,总共5层嵌套关系,超过了CPU支持的最大嵌套深度,导致CPU 无法运行,知道了原因,我们可以减少调用嵌套为4层以内,则程序就可以正常执行了。

    通过以上描述就可以明白,有些看似不可理解的问题其实有其发生的原因,只有深入了解对应产品的技术细节,才能抽茧剥丝,找到问题的根源所在。

    S7-200 SMART如何快速提高编程效率 

    在日常的编程过程中,我们可能需要不少的逻辑运算和算术运算,如果这种运算很多,有可能会导致程序量很大,CPU的扫描周期加长,在这种情况下,找到其中的规律,可以大大简化程序。

    假设一个场景,现场有16台设备,需要控制16台泵的启停,IO地址如下表所示:

    25.jpg

    表2

    一般的编程思路是单独写出每个泵的启动停止控制逻辑,如图7所示,需要编写16组控制逻辑:

    26.jpg

    图7   单个泵的启停控制

    其实针对这种编程,我们可以变换一种思路,将上面的梯形图变换成图8所示的逻辑,也可以完成对应的控制功能:

    27.jpg

    图8   字逻辑运算

    这样变换完成后,编程就显得特别简洁,因此编程思路很重要。

    在另外一些应用场景中,有时需要记录现场设备的运行时间,一般情况下我们可以使用定时器来实现计时的功能,但S7-200 SMART定时器有数量限制(最大256个),并且最大时基为100ms的定时器其所能达到的最大计时长度为3276.7S,若想实现小时或者天的计时就需要定时器加计数器来实现,而计数器也有数量限制(最大256个),当需要类似的功能很多时,计数器和定时器数量就不够用了,此时可以使用系统特殊存储器 SM0.4(周期为60S的时钟脉冲)和SM0.5(周期为1S的时钟脉冲)来实现计时功能。

    如图9所示,其中值VD0的单位为秒,在实际应用中,可以对这个数值进行再次转换,得到分钟、小时或者天的时间值(本例中VD4的单位为小时),同时这些地址也可以按需设置在S7-200 SMART断电保持区域中,实现不同时间长度的定时以及断电保持功能,非常方便。

    28.jpg

    图9   使用SM0.5实现计时功能

    实际编程时对于一些功能重复的地方,我们可以考虑做成子程序多次调用,一些需要重复计算的功能,可以使用FOR NEXT循环来完成,也可以考虑使用间接寻址的方式来提高程序的灵活性,而对一些流程方面的控制可以使用顺序控制继电器来完成,这样可以大大提高编程的效率。

    S7-200 SMART编程中常见的典型应用

    以上介绍的常见问题以及编程技巧只是抛砖引玉,折射出日常编程问题的一小部分,对于编程者而言,他们会遇到形形色色不同的问题,面对大量的程序,他们也想对程序做好优化,尽可能使用简洁规范的语句实现控制功能,对于一些典型应用也想知道实现方法,针对这样的客户需求,我们在西门子工业1847平台上也推出了《S7-200 SMART编程小技巧》系列视频,其中详细介绍了一些典型应用案例以及编程注意事项供大家参考:

    • S7-200 SMART基础入门—硬件及软件

    • S7-200 SMART基础入门—基础编程

    • S7-200 SMART如何实现CRC校验

    • S7-200 SMART子程序陷阱

    • S7-200 SMART与多台设备自由口通信

    • S7-200 SMART如何使用间接寻址实现冒泡排序

    • S7-200 SMART 子程序之电机控制

    • S7-200 SMART 子程序运行为什么不正常

    • S7-200 SMART如何实现模拟量滑动滤波功能

    • S7-200 SMART子程序之阀门控制

    • S7-200 SMART熟能生巧之累加器的应用

    • S7-200 SMART流量累积功能上篇---功能实现

    • S7-200 SMART流量累积功能中篇---实数存储原理

    • S7-200 SMART流量累积功能下篇---大小值相加问题

    • S7-200 SMART顺序控制功能

    除了上述系列视频在持续更新之外,我们也提供了一些库文件以及功能块方便客户直接下载以及使用:

    S7-200 SMART Modbus RTU主站指令库:

    https://support.industry.siemens.com/cs/cn/zh/view/109771082

    S7-200 SMART 用户自定义指令库:

    https://support.industry.siemens.com/cs/cn/zh/view/109771083

    S7-200SMART模拟量比例换算:

    https://support.industry.siemens.com/cs/cn/zh/view/109771085

    S7-200 SMART PLC 与 RFID 读写器的通信:

    https://support.industry.siemens.com/cs/cn/zh/view/85273082

    S7-200 SMART自由口通信(1):设置参数——跟我学:

    https://support.industry.siemens.com/cs/cn/zh/view/109754622

    S7-200 SMART自由口通信(2):编写发送程序——跟我学:

    https://support.industry.siemens.com/cs/cn/zh/view/109754621

    S7-200 SMART自由口通信(3):编写接收程序——跟我学:

    https://support.industry.siemens.com/cs/cn/zh/view/109754620

    S7-200 SMART精品课程推荐

    学习完 “S7-200 SMART编程小技巧” 系列视频,如果还希望了解更多关于S7-200 SMART相关课程可以查看以下系列视频

    • 1. 快速了解S7-200SMART系统

    • 2. 从S7-200到S7-200 SMART移植

    • 3. S7-200 SMART串口通信精讲

    • 4. S7-200 SMART软件及编程精讲

    更多详细的有关S7-200 SMART编程的话题,您可以持续关注西门子工业1847平台,我们会及时给大家总结并分享最有价值的干货内容。



    本文版权归西门子工业1847俱乐部所有,转载或者引用本文内容需注明来源及作者。


    本文版权归西门子工业1847俱乐部所有,转载或者引用本文内容需注明来源及作者。

    推荐帖推荐理由:(推荐人:)  修改
    有帮助(1)


  • ABBCCC:1楼2021-11-01 19:10:33
  • 实实在在好东西
    精华帖版主置评:
    推荐帖推荐理由:(推荐人:)
    有帮助(0)

      
    收起
    畅学技术 | S7-200 SMART 编程技巧及实例分享
    • 收藏

    • 有帮助

    • 回复
    回复
     *帖子内容
    上传附件要求

    1. 文件大小:上传文件的大小请限制在1M以内。

    2. 文件格式:请不要上传.exe文件,系统支持的格式有:.jpg, .jpeg, .pdf, .gif, .zip, .rar, .doc,.docx, .xls,.xlsx, .ppt, .mp3, .wma, .wmv .asf, .avi, .bmp, .png, .txt, .7z

    发布帖子
    • 分享帖
    • 故事帖
    • 技术探讨帖
    • 求助帖
    • 西家杂谈
    • 投票帖
    邮件
    只看
    楼主
    只看
    精华
    只看
    精编
    发帖
    回复
    二维
    码
    ×
    ◆
    扫描打开手机版

    全球技术资源

    • 推荐文档
    • 新手必读文档
    • mySupport
    • 常问问题
    • 手册
    • 应用与工具
    • 证书
    • 软件
    • 产品通知
    • 特性曲线
    • 技术数据
    • 订阅文档 

    取证训练营

    • 首页
    • 取证训练营
    • 精品课程
    • 证书查询

    技术论坛

    • 首页
    • 发帖
    • 精华贴
    • 高赞帖
    • 分享帖
    • 当前热门
    • 为您推荐
    • 最新发帖
    • 季度标兵
    • 精华之星
    • 用户荣誉榜
    • 我的关注

    找答案

    • 首页
    • 精华问答
    • 高赞问答
    • 有奖问答
    • 全部已解决问题
    • 待解决问题
    • 待推荐问题
    • 快侠榜
    • 上周排行
    • 总分排行
    • 历届夺魁答侠

    产品入门新手必读

    • 首页
    • S7-200产品入门
    • S7-1500产品入门
    • PCS 7产品入门
    • WinCC产品入门
    • MM4系列变频器产品入门
    • S120变频器产品入门
    • SINUMERIK 808D产品入门
    • 国产V系列变频器和数控产品入门
    • 网站新手必读

    售后服务

    • 售后服务简介
    • 服务网络及联系方式
    • 提交服务需求
    • 查询服务进程
    • 下载服务登记表格
    • 我的售后服务信息
    • 售后服务常见问题
    • 服务合作伙伴
    西门子中国  © 西门子(中国)有限公司 1996 – 2021  企业信息   隐私政策  使用条款  京ICP备06054295号  京公网安备 11010502040638号

    系统提示

    新密码:

    密码至少8位,包含大、小写字母,数字和符号至少三种。

    确认密码:

    密码至少8位,包含大、小写字母,数字和符号至少三种。

    取消 确定

    系统提示

    手机号
    验证码
    获取验证码
    暂不验证
    绑 定

    系统提示

    新密码:

    密码至少8位,包含大、小写字母,数字和符号至少三种。

    确认密码:

    密码至少8位,包含大、小写字母,数字和符号至少三种。

    取消 确定

    验证码登录

    密码登录

    获取验证码

    未注册手机验证后自动登录,登录即代表同意
    《支持中心网站注册协议和隐私政策》

    微信登录
    获取验证码
    忘记密码 没有账号?立即注册
    微信登录
     

     短信登录

     

    获取动态密码

     

    登录

     

    ×
    立即
    签到
    已签到
    已签到0天
    累计可抽西币次数:0次抽奖机会
    累计可抽大奖次数:0次抽奖机会
    信息提示
    很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。
    编辑推荐: 关闭

    请填写推广理由:

    正在加载...
     
    发分享帖
    爱工控,乐分享,
    分享您的经验与案例
    发故事
    发表您的精彩故事,
    参与征文活动
    技术探讨帖
    阐述您的观点,
    表达我的看法
    西家杂谈
    海侃天南地北,
    闲聊工控世界
    发求助帖
    求道解惑,“刨根问底”
    解决问题
    发投票帖
    邀投票,做调查,
    网友帮您来作主