gk-auto 发表于 2023-4-5 20:19:44

S7-200Smart 子程序局部变量事半功倍的用法!

https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/c5a27a1d665c4f78b8b926484b029c5e~tplv-tt-shrink:640:0.image?traceid=20230405201937A45030B6DE9BFF3B6714&x-expires=2147483647&x-signature=clUxzP4XM0%2Fv5T1xXGznLpbPHjM%3D

全新的 S7-200 SMART 带来两种不同类型的 CPU 模块,标准型和经济型,全方位满足不同行业、不同客户、不同设备的各种需求。标准型作为可扩展 CPU 模块,可满足对 I/O 规模有较大需求,逻辑控制较为复杂的应用 ;而经济型 CPU 模块直接通过单机本体满足相对简单的控制需求。
作为欧系代表品牌西门子,在编程方面一贯以严谨,开发,好用舒适性高为特点。而我们在实际的设计中,最长遇到的一直情况就是,类似的程序片段反复使用,比如10台电机的星三角降压启动。当然,我们可以通过一个一个网络,一台一台电机慢慢写出来。这样肯定没问题。但是,这种事情,做多了就发现,脑力劳动变成了体力劳动。同样的结构,改变里面的软元件,一台电机改一次。效率低,程序质量差,出错难检查。
西门子在这方面有一个很好的解决方案。那就是通过局部变量,设计出程序框架,做成库。后面就可以反复调用。一个电机调用一次,只需要填写按钮的输入点,接触器的输出点就可以,这样编程效率大大提高;出错概率大大降低,程序一致性很好。
接下来我们分享如何创建一个星三角降压启动的子程序,同时分享如何把建立的子程序做成库并反复多次调用
第一步当然打开STEP 7-MicroWIN SMART软件添加CPU这里不再阐述了。
第二步是打开一个程序,建立对应的局部变量表,如下图所示https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/847fb0a894344ae390e08b45d7d0a5c1~tplv-tt-shrink:640:0.image?traceid=20230405201937A45030B6DE9BFF3B6714&x-expires=2147483647&x-signature=lq0Ded%2BYhEmilYN%2F8AR3oPrka98%3D

第三步则是关键的一步,程序的设计编写https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/716b262e6d494a619a0fc1abc3b621f9~tplv-tt-shrink:640:0.image?traceid=20230405201937A45030B6DE9BFF3B6714&x-expires=2147483647&x-signature=UHpjBWSURc8k0FJqCnHfIIQZ2hE%3D

第四步,那就是MIAN主程序中调用我们编写好的子程序https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/af54c71dd595437da1dc309bd742cdbc~tplv-tt-shrink:640:0.image?traceid=20230405201937A45030B6DE9BFF3B6714&x-expires=2147483647&x-signature=ny11NlTBhMDelyke9rfk%2FmjNVeY%3D

至此,一段简单的子程序就建立并调用完成了;
最后我们分享下如何把建立好的子程序做成库(此方法同样适用于添加其他的库文件,如模拟量转换库、频率计算库等)
第一步:在软件指令树中找到“库”右键点击选择“创建库”https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/a0a905d640794b92be05b802bcbe929a~tplv-tt-shrink:640:0.image?traceid=20230405201937A45030B6DE9BFF3B6714&x-expires=2147483647&x-signature=Ff7abafSuNRcIzpBaWuM%2BLQGdY0%3D

第二步:则会出现下图所示的对话框,可输入新建库的名称以及库的保存路径,一般默认存在STEP 7-MicroWIN SMART的Lib文件夹中即可。选择对用的存放路径后点击保存,然后点击下一页https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/b94fe7761740455b90625a71be8d470f~tplv-tt-shrink:640:0.image?traceid=20230405201937A45030B6DE9BFF3B6714&x-expires=2147483647&x-signature=0N89nwrs7RWTNqcsA%2BnXbVAjG%2FU%3D

第三步:选择需要创建库对应的程序块后点击添加,接着点击下一页;如下图所示https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/0dd54aae91684443a019a86e4c167107~tplv-tt-shrink:640:0.image?traceid=20230405201937A45030B6DE9BFF3B6714&x-expires=2147483647&x-signature=qRWOfwB99mIS4M%2FrMkM42ILJank%3D

第四步:此时,我们可以根据需要选择是否对其库文件进行密码保护;如需要则勾选“是........”输入相关的数字串后点击下一页;如下图所示https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/11ccdfed4aca4f5d8f01ca72b5d13de3~tplv-tt-shrink:640:0.image?traceid=20230405201937A45030B6DE9BFF3B6714&x-expires=2147483647&x-signature=2pVLifSFCxlcuBG7sLhENGPzjLQ%3D

第五步:在这里我们可以选择自己想要生成的版本;紧接着同样选择下一页,此时“生成”对话框会提醒我们库所在的路径;如下图所示https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/3fdeec1125bf45248109a691463a0937~tplv-tt-shrink:640:0.image?traceid=20230405201937A45030B6DE9BFF3B6714&x-expires=2147483647&x-signature=ysPtpCNUh2BgzQXCnJk1EgHYDz0%3D

第六步:参照第一步选择“打开库文件夹”则会显示我们刚刚创建的库文件:如下图所示https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/534c3de6d9264eafa3a174b3468d993d~tplv-tt-shrink:640:0.image?traceid=20230405201937A45030B6DE9BFF3B6714&x-expires=2147483647&x-signature=Ubwvj6f5TE0hVgD1yeAHv4POSGc%3D

这时我们参照第一步选择“刷新库”后关闭软件后再次打开软件,找到库。则会出现我们刚刚创建的库了;如下图所示https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/56b788925bac40b58e14f80e64bc64fd~tplv-tt-shrink:640:0.image?traceid=20230405201937A45030B6DE9BFF3B6714&x-expires=2147483647&x-signature=7ljUfA8rMhE1DOIi8V32ma3hf0Q%3D

第七步:我们可根据需要反复不断的调用库文件,选择不同的实参就可以了https://p3-sign.toutiaoimg.com/tos-cn-i-qvj2lq49k0/f0817b36ee4c4aaaa8bbb5c06b2dd7ee~tplv-tt-shrink:640:0.image?traceid=20230405201937A45030B6DE9BFF3B6714&x-expires=2147483647&x-signature=PqRHY4ViDnD3wyH3B1bLlkCRzgg%3D

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

liminfu 发表于 2025-11-17 23:29:56

浅蹲一个后续,楼主更新踢我一下

lililala6868 发表于 2025-11-18 00:50:26

占个楼慢慢看,先马克一下
楼主辛苦啦,期待下一篇分享

Theinjured 发表于 2025-11-18 00:57:06

不请自来,只为说一句:太精彩了!

wx_Ami3T33C 发表于 2025-11-18 00:59:31

楼主辛苦啦,期待下一篇分享!

罗程 发表于 2025-11-18 01:01:43

我先占个楼,等下再慢慢看~

红叶弹簧 发表于 2025-11-18 01:01:43

笑不活了,评论区比正文还精彩
已转发给朋友,一起快乐一下

lonh5000 发表于 2025-11-18 01:01:56

理性围观,感觉大家说的都有道理~

午夜星辰 发表于 2025-11-18 01:03:10

同款经历!简直是世另我

wangzhaolost 发表于 2025-11-18 01:04:22

笑不活了,评论区比正文还精彩!
页: [1]
查看完整版本: S7-200Smart 子程序局部变量事半功倍的用法!