故事作者:空果仁

最近创作

看看TA的故事

【3】16位地址指针使用示例——从S7-300/400到s7-1500系列故事之三

已锁定

空果仁

官方工程师 西门子1847工业学习平台

  • 帖子

    210
  • 精华

    47
  • 被关注

    310

论坛等级:侠圣

注册时间:2011-07-11

普通 普通 如何晋级?

【3】16位地址指针使用示例——从S7-300/400到s7-1500系列故事之三

12836

10

2020-03-09 13:25:56

star star star

       说实在的,这个程序总感觉编起来特别别扭,首先,不能使用 UC    FC [XX]等程序块调用的指令,因为给出的应用是相同程序块的多次调用;其次是在程序块的接口参数中不能定以TIMER类型,例如控制对象使用FC编写,FC的接口参数如图3所示。

                                             


图3

  使用OB1调用赋值时,只能赋值常数而不能是变量,如图4所示。



图4

   所以FC的接口参数只能是INT类型变量,由于接口参数不能存储16指针,还必须通过temp临时变量进行中转,在FC中的编写的程序如图5所示。



图5

   FC中的程序非常简单,如果输入TRIG1为1,使能定时器T[#T1_TEMP1] 10秒定时,定时器T[#T1_TEMP1] 为1,然后将结果传送到输出OUT1,10秒后计时停止,OUT1复位,等于TRIG1为1后,OUT1产生一个10秒的脉冲,相同程序,TRIG2为1后,OUT2产生一个5秒的脉冲。

   然后调用该FC,参考图6。使用LOOP指令生成20次循环调用,每次使用的定时器号加1,这样FC的第一个定时器使用范围T1~T20,第二个定时器T100~T120。触发位和输出位使用了32位指针,为了显示方便,在程序中被屏蔽。



图6

 

程序编写的总体感觉:对所用指令都非常熟悉的情况下,花费时间大概1个多小时,而且程序结果不清晰。如果不是后续还有类似的应用,直接调用FC 二十遍反而更容易。这也是大多数工程师没有体验到的,要么没有遇到,要么次数少就直接调用了,我见到最多调用过一百多编的,并且接口参数还比较多,真是累眼睛呀。

基于对象的编程方式,一个对象使用FB进行控制比较方便。如果将上面的FC换为FB会怎么样呢?大家都知道调用FB块需要生成实例数据块,循环调用就不行了,不能只用一个实例数据块,所以只能使用UC或者CC调用,结果就是既没有接口参数也不生成实例数据块,只能使用全局变量进行数据交换,这样还使用什么FB块呀!总之就是繁琐。

1.2  存储器16位地址指针-S7-1500的处理方式

   如果使用上面的编程方式,在S7-1500中也可以实现,主要是移植的考虑。如果重新编程肯定有更简单的方式。S7-1500中批量的处理都使用数组的方式,S7-300/400中使用的定时器(T)和计数器(C)由于在S7-1500不能作为数组中的数据元素,所以就不推荐使用了,取而代之的是IEC定时器和IEC计数器,它们可以在数据块中直接定义,参考图7。



图7

FC作为辅助功能,例如数据转换、控制对象调用前的预处理或者调用后的后期处理,也不支持批量调用,通常批量处理的是控制对象,控制对象使用FB编写,所以FB支持批量调用,可以作为数组的数据元素,参考图8。



图8

还是上面的应用,使用S7-1500,编写就变得非常简单,首先创建一个FB块,编写相关的控制程序,参考图9。


图9

然后在一个FB块中方循环调用该FB块,示例程序参考图10。



图10

可以看到使用S7-1500处理程序块的批量调用非常简单,并且数组的使用与编程语言无关。


----------------------------------------------------------------------------------------------------------

上一篇:【2】16位地址指针——从S7-300_400到S7-1500看变址寻址的改变系列故事之二

下一篇:【4】存储器32位地址指针——从S7-300_400到S7-1500看变址寻址的改变系列故事之四

汇总帖:技术Π活动故事、视频与案例分享汇总


【3】16位地址指针使用示例——从S7-300/400到s7-1500系列故事之三 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

西家技术派

共有64条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。