S7-200 SMART 编程技巧及实例分享

本文介绍了S7-200 SMART在编程中遇到的常见问题,如CPU类型不兼容导致的错误和子程序嵌套过深的限制,并提供了案例分析,提出了解决方案。此外,分享了提高编程效率的方法,如字逻辑运算和利用系统特殊存储器实现计时。还推荐了西门子1847平台的相关学习资源。
AI助手已提取文章相关产品:

S7-200 SMART在编程中

常见问题解析

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

案例 1

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

图1 主程序

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

图2 PLC信息

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

表1

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

案例 2

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

图3 主程序

图4 子程序

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

图5 状态图标监控无输出

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

图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编程的话题,您可以持续关注西门子工业1847平台,我们会及时给大家总结并分享最有价值的干货内容。

访问“西门子1847工业学习平台”免费获得“PLC使用小窍门集锦”请速速查阅!

S7-200 SMART

如何快速提高编程效率

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

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

表2

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

图7 单个泵的启停控制

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

图8 字逻辑运算

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

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

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

图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顺序控制功能

专题内容抢先试看:西门子1847工业学习平台

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

S7-200 SMART Modbus RTU主站指令库

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

S7-200SMART模拟量比例换算

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

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

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

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

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平台,我们会及时给大家总结并分享最有价值的干货内容。

“PLC使用小窍门集锦”请速速查阅!

1847首页-技术视频免费看-西门子工业“1847会员”-西门子中国​www.ad.siemens.com.cn/1847/?utm_term=articlelink&channel_link_type=web&utm_campaign=1847%E4%B8%BB%E9%A1%B5%E6%8E%A8%E5%B9%BF&sat_cf=1&utm_medium=articlelink&_channel_track_key=K54oYNVD&utm_source=Socialzhihu&utm_content=zhihuarticle正在上传…重新上传取消icon-default.png?t=M4ADhttps://www.ad.siemens.com.cn/1847/?utm_term=1847&channel_link_type=web&utm_campaign=1847%E4%B8%BB%E9%A1%B5%E6%8E%A8%E5%B9%BF&sat_cf=1&utm_medium=article&_channel_track_key=xlxc5BrE&utm_source=csdn&utm_content=article

您可能感兴趣的与本文相关内容

### 回答1: 西门子s7-200smart编程技巧与案例电子书下载是一本关于西门子s7-200smart编程技巧和案例实例的电子书。这本电子书不仅包含了大量实用的编程技巧,还提供了实用的案例操作,能够帮助读者更好地理解和掌握西门子s7-200smart编程的技能。 对于初学者来说,这本电子书是一个很好的学习资源。它可以帮助初学者了解编程的基本概念和原理,同时提供了丰富的案例操作,帮助初学者通过实践更好地掌握编程技能。 对于有经验的编程人员来说,这本电子书也是一个非常有用的工具。它提供了一些高级编程技术和实用的案例技巧,可以帮助有经验的编程人员更好地应对复杂的编程问题。 总之,西门子s7-200smart编程技巧与案例电子书下载是一本非常实用的资源,无论你是初学者还是有经验的编程人员,都可以从中获益。如果你正在学习或使用西门子s7-200smart编程,那么这本电子书绝对值得你一读。 ### 回答2: 西门子S7-200smart编程技巧与案例电子书是一本介绍S7-200smart PLC编程技巧和应用实例的书籍。该书集中介绍了S7-200smart PLC的基础操作、程序设计方法和实现过程,并提供了大量的实例应用,帮助读者更好地掌握PLC编程技巧。 该书的内容分为三个主要部分,包括S7-200smart PLC的介绍、编程技巧实例应用。在PLC的介绍部分,作者主要介绍了PLC的组成结构、工作原理和基本参数,帮助读者了解PLC的基础知识。在编程技巧部分,作者详细介绍了S7-200smart PLC的编程语言、数据类型、指令系统和程序设计方法,让读者更好地掌握PLC编程技巧。在实例应用部分,作者提供了多个实际应用的案例,包括水泵控制、灯光控制、流水线控制等,通过这些案例让读者更好地了解PLC的应用场景和设计思路。 该书的下载方式很简单,读者只需在网络上搜索西门子S7-200smart编程技巧与案例电子书,即可找到下载链接。该书对于PLC编程工程师、自动化工程师、电气工程师等有一定的实践经验和PLC编程基础的读者具有很高的参考价值。通过该书的学习,读者可以更好地应用PLC技术,提高工作效率和实际应用能力。 ### 回答3: 西门子s7-200smart是一种广泛应用的可编程逻辑控制器(PLC),其特点是小巧精悍、低成本、易于编程和具有高度的可扩展性。因此,其广泛应用于工厂自动化设备、机床控制、电梯控制、食品加工机械等领域。 为了更好地掌握s7-200smart编程技巧,提高我们的编程能力,可以通过下载电子书进行学习和实践。这些电子书通常包括s7-200smart编程基础、PLC编程语言、I/O模块的使用方法、控制器硬件和软件的接口、调试和故障排除等方面的内容。此外,还可能会包括一些实用案例,如自动化生产线控制、智能家居控制、工艺流程监控等。 在学习中,我们需要注意以下几点: 1. 熟悉s7-200smart的控制器结构和基本操作方法,如控制器电源和I/O模块的连接、电源和CPU运行指示灯的状态等。 2. 掌握PLC编程语言,包括梯形图和指令表等编程语言,如LAD、FBD、SCL等。 3. 熟悉使用I/O模块的方法和配置,包括数字输入、数字输出、模拟输入、模拟输出等模块。 4. 理解控制器硬件和软件的接口,包括通信接口、网络接口、串口接口等。 5. 学会调试和故障排除,掌握PLC程序在线调试的方法,如程序的单步执行、断点和变量监视等。 通过不断地学习和实践,我们可以掌握s7-200smart编程技巧,并灵活地应用到实际的控制系统中。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值