FC的局部变量多了一个RET_VAL(返回值)。它实际上是输出参数。默认的情况它是没有数据类型的,在调用FC时也看不到这个输出参数。只要在局部变量表中设置RET_VAL的数据类型,在调用时就能看到它在方框的右边出现,所以它是一个输出参数。
我很长时间一直不理解为什么要设置这样一个局部变量,而不是将它纳入输出参数。后来偶然在一个资料上看到,这是为了和plc编程语言的IEC61131-3一致而设置的。
功能FC的英语为Function,也可以像博途那样,将Function翻译为函数。IEC的函数和C语言的函数一样,执行后会产生一个返回值。IEC61131-3的FC也只有一个返回值,不用设置它的名称,返回值的名称和FC的名称相同。因此IEC61131-3的FC只有返回值这样一个输出参数。
CPU 1214C DC/DC/DC,V2.0
CPU 1214C DC/DC/DC,V4.1
软件:
Step7 V13 SP1
所完成的通信任务:
S7-1200 CPU Clinet 将通讯数据区 DB1 块中的 10 个字节的数据发送到 S7-1200 CPU server的接收数据区 DB1 块中;
S7-1200 CPU Clinet 将S7-1200 CPU server 发送数据区 DB2 块中的 10 个字节的数据读到S7-1200 CPU Clinet 的接收数据区 DB2 块中。
S7-1200之间 S7 通讯,可以分2种情况来操作,具体如下:
种情况:两个 S7-1200 在一个项目中操作;
第二种情况:两个 S7-1200 不在一个项目中的操作。