0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

S7-200 Smart子程序局部变量使用教程

sharepcb 来源:直观学PLC 2023-02-03 11:36 次阅读

全新的 S7-200 SMART 带来两种不同类型的 CPU 模块,标准型和经济型,全方位满足不同行业、不同客户、不同设备的各种需求。标准型作为可扩展 CPU 模块,可满足对 I/O 规模有较大需求,逻辑控制较为复杂的应用 ;而经济型 CPU 模块直接通过单机本体满足相对简单的控制需求。

作为欧系代表品牌西门子,在编程方面一贯以严谨,开发,好用舒适性高为特点。而我们在实际的设计中,最长遇到的一直情况就是,类似的程序片段反复使用,比如10台电机的星三角降压启动。当然,我们可以通过一个一个网络,一台一台电机慢慢写出来。这样肯定没问题。但是,这种事情,做多了就发现,脑力劳动变成了体力劳动。同样的结构,改变里面的软元件,一台电机改一次。效率低,程序质量差,出错难检查。

西门子在这方面有一个很好的解决方案。那就是通过局部变量,设计出程序框架,做成库。后面就可以反复调用。一个电机调用一次,只需要填写按钮的输入点,接触器的输出点就可以,这样编程效率大大提高;出错概率大大降低,程序一致性很好。

接下来我们分享如何创建一个星三角降压启动的子程序,同时分享如何把建立的子程序做成库并反复多次调用

第一步:打开STEP 7-MicroWIN SMART软件添加CPU这里不再阐述了。

第二步:是打开一个程序,建立对应的局部变量表,如下图所示

f2e850b8-a266-11ed-bfe3-dac502259ad0.png

第三步:则是关键的一步,程序的设计编写

f320bdcc-a266-11ed-bfe3-dac502259ad0.png

第四步:那就是MIAN主程序中调用我们编写好的子程序

f34c7610-a266-11ed-bfe3-dac502259ad0.png

至此,一段简单的子程序就建立并调用完成了;

最后我们分享下如何把建立好的子程序做成库(此方法同样适用于添加其他的库文件,如模拟量转换库、频率计算库等)

第一步:在软件指令树中找到“库”右键点击选择“创建库”

f398ed4c-a266-11ed-bfe3-dac502259ad0.png

第二步:则会出现下图所示的对话框,可输入新建库的名称以及库的保存路径,一般默认存在STEP 7-MicroWIN SMART的Lib文件夹中即可。选择对用的存放路径后点击保存,然后点击下一页

f3ceb8fa-a266-11ed-bfe3-dac502259ad0.png

第三步:选择需要创建库对应的程序块后点击添加,接着点击下一页;如下图所示

f3f75c4c-a266-11ed-bfe3-dac502259ad0.png

第四步:此时,我们可以根据需要选择是否对其库文件进行密码保护;如需要则勾选“是........”输入相关的数字串后点击下一页;如下图所示

f440ce0e-a266-11ed-bfe3-dac502259ad0.png

第五步:在这里我们可以选择自己想要生成的版本;紧接着同样选择下一页,此时“生成”对话框会提醒我们库所在的路径;如下图所示

f462b212-a266-11ed-bfe3-dac502259ad0.png

第六步:参照第一步选择“打开库文件夹”则会显示我们刚刚创建的库文件:如下图所示

f47a6812-a266-11ed-bfe3-dac502259ad0.png

这时我们参照第一步选择“刷新库”后关闭软件后再次打开软件,找到库。则会出现我们刚刚创建的库了;如下图所示

f49d66be-a266-11ed-bfe3-dac502259ad0.png

第七步:我们可根据需要反复不断的调用库文件,选择不同的实参就可以了

f4b95e3c-a266-11ed-bfe3-dac502259ad0.png

这就是通过子程序局部变量做出来的效果

通过以上几步我们可以清晰的看到,一台电机只需要输入最关键的几个量。而中间的转换过程由事先设计好的子程序完成就可以了。并且在同一个主程序中子程序是可以反复调用的。也就是你有几台电机,就调用几次;从而完全免去了反复修改变量的麻烦。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10412

    浏览量

    206466
  • 西门子
    +关注

    关注

    91

    文章

    2843

    浏览量

    113720
  • SMART
    +关注

    关注

    3

    文章

    218

    浏览量

    44384
  • 子程序
    +关注

    关注

    0

    文章

    33

    浏览量

    11072
  • S7-200
    +关注

    关注

    13

    文章

    405

    浏览量

    49555

原文标题:S7-200Smart 子程序局部变量,这样用才好玩

文章出处:【微信号:直观学PLC,微信公众号:直观学PLC】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    016跟我学:S7-200 SMART SETP 7-MicroWIN SMART 简介#硬声创作季

    plcSMARTS7-200
    或许
    发布于 :2023年06月07日 11:52:49

    032跟我学:S7-200 SMART 带参数子程序编写举例#硬声创作季

    plcSMARTS7-200
    或许
    发布于 :2023年06月07日 11:56:55

    Labview慎用局部变量

    使用局部变量呢?它主要有以下几个弊端: 1.可读性较差;当我们写一段程序代码时,如果较多的使用局部变量,我们可以看到下图,局部变量的名字都是一样的,难以分辨此时的
    发表于 02-25 11:11

    谨慎使用局部变量和全局变量

    文件时出现。以下程序框图显示了一个局部变量造成竞争状态的范例。该VI的输出,即本地变量x的值取决于首先执行的运算。因为每个运行都把不同的值写入x,所以无法确定结果是7,还是3。在一些编
    发表于 01-30 10:58

    关于labview局部变量如何批量处理

    我们都知道程序能不用局部变量尽可能不用局部变量,因为局部变量多了会占用大量内存,但有时候不得不用局部变量的时候,该如何批量处理好呢?
    发表于 11-27 13:12

    S7-200SMARTS7-200的区别是什么

    执行时间可达0.15us,在同级别小型PLC中遥遥领先。一颗强有力的“芯”,能让您在应对繁琐的程序逻辑,复杂的工艺要求时表现的从容不迫。  以太互动,经济便捷  S7-200 SMART PLC的CPU模块
    发表于 12-04 16:21

    S7-200主从站通讯例子程序

    介绍了s7-200 modbus主、从站例子程序程序简单易懂大家交流学习
    发表于 01-20 15:55 2次下载

    s7-200模拟量处理子程序

    s7-200模拟量处理子程序,介绍西门子200模拟量处理程序的源代码
    发表于 01-20 15:56 10次下载

    全局变量局部变量有什么区别

    全局变量是编程术语中的一种,源自于变量之分。变量分为局部与全局,局部变量又可称之为内部变量
    发表于 12-11 11:58 3.2w次阅读
    全局<b class='flag-5'>变量</b>和<b class='flag-5'>局部变量</b>有什么区别

    西门子PLC的局部变量使用技巧

    临时变量是临时存储在本地数据区的变量。只有在执行POU时,才使用定义的临时变量,而在执行POU后,不再使用临时变量的值。在主程序或中断
    发表于 12-13 18:07 3975次阅读

    如何导入S7-200 Smart变量

    导入S7-200 Smart变量
    的头像 发表于 02-07 10:03 4430次阅读
    如何导入<b class='flag-5'>S7-200</b> <b class='flag-5'>Smart</b><b class='flag-5'>变量</b>

    Python-局部变量与全局变量

    局部变量是在函数内部定义的变量,只能在函数内部使用,函数执行结束后,函数内部的局部变量会被系统回收,不同的函数,可以定义相同名称的局部变量,相互之间没有任何关联
    的头像 发表于 02-16 15:16 615次阅读
    Python-<b class='flag-5'>局部变量</b>与全局<b class='flag-5'>变量</b>

    S7-200Smart子程序局部变量

    西门子在这方面有一个很好的解决方案。那就是通过局部变量,设计出程序框架,做成库。后面就可以反复调用。一个电机调用一次,只需要填写按钮的输入点,接触器的输出点就可以,这样编程效率大大提高;
    的头像 发表于 03-12 08:47 1373次阅读

    S7-200 SMART变量倒序的编程

    S7-200 SMART变量倒序的编程
    的头像 发表于 05-06 10:27 674次阅读
    <b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b><b class='flag-5'>变量</b>倒序的编程