怎样用指针在子程序和调用它的程序之间传递数据?
下面用两个例程来说明怎样用地址指针作子程序的输入变量和输出变量。
求和子程序用来求若干个字的和。子程序的双字输入变量PNT为源地址区的起始地址,字输入变量NUM为需要求和的数据字个数,字输出变量SUM为求得的和,字临时变量TMP1供循环指令用。
图6-3是S7-200的主程序和子程序SBR 0的局部变量表,子程序的输入变量中的&VBO是地址指针的初始值,&VBO表示Vf30的地址,需求和的数据字从VWO开始存放;需要求和的数据字个数在VW200中,求和的结果在VW202中。子程序中的*# PNT是地址指针指定的地址中的变量的值。下面是语句表程序:
![](http://www.591dg.com/uploads/allimg/170312/34-1F3121G509E9.png)
![](http://www.591dg.com/uploads/allimg/170312/34-1F3121G509E9.png)
下面是读取实时钟的子程序例程,双字型输入变量PNT用于输入存放日期时间值的地址指针。调用子程序时指定存放日期时间值的起始地址为VBO。调试程序时可以用变量表监视VDO和VD4中的十六进制双字日期时间值,并与用PLC菜单中的命令读出的日期时间值相比较。
![](http://www.591dg.com/uploads/allimg/170312/34-1F3121H020934.png)
上一篇:什么是动作?
下一篇:什么是有向连线?
相关推荐
最新更新
推荐阅读
猜你喜欢
电工推荐
![电工技术基础_电工基础知识_电工之家-电工学习网](/skin/images/guanzhu.jpg)