主程序中未分配的可变数组,如何在子程序中调用

主程序中未分配的可变数组,如何在子程序中调用,第1张

具体方法:

选择菜单命令工具(T) > 指令向导叄缓笱≡NETR/NETW;

1 指定您需要的网络 *** 作数目

2 指定端口号和子程序名称

3 指定网络 *** 作

4 分配 V 存储区

5 生成代码

为了便于进行连接在网络中的 PLC 之间的数据交换,S7-200支持网络读(NETR)和网络写(NETW)指令。NETR 指令从远程 PLC中的指定地址读取配置好的一定数量的数据。NETW 指令向远程PLC中的指定地址写入配置好的一定数量的数据。NETR

和 NETW 指令 *** 作由数据表中的前七个字节控制。表中的一个数值是读取/写入数据长度,可以规定 1 至 16 个字节。因此数据表最大可达 23 个字节。

注释:在使用 HSC 向导之前,程序必须被编译,且处于符号编址模式。如果您尚未编译程序,向导在 HSC 配置过程开始时会提示您编译程序。

向导将向您询问初始化选项,然后为指定配置生成程序代码和数据块代码。从第一个屏幕选择NETR/NETW后,向导向您询问下列信息:

步骤 1 指定您需要的网络 *** 作数目

注释:如果项目包含使用 STEP 7 Micro/WIN 32 版建立的现有 NETR/ NETW 配置,您必须在继续执行步骤 1 之前选择编辑其中一个现有配置或建立一个新配置。

可使用 NETR/NETW 指令向导,简化网络 *** 作配置。向导将向您询问初始化选项,并根据您的选择生成完整的配置。向导允许您配置多达 24 项独立的网络 *** 作,并生成代码协调这些 *** 作。

步骤 2 指定端口号和子程序名称

注释:项目可能已经包含一个 NETR/NETW 向导配置。所有以前建立的配置均被自动载入向导。向导会提示您完成以下两个步骤之一:

选择编辑现有配置,方法是点击“下一步>”。

选择从项目中删除现有配置,方法是选择“删除”复选框,并点击“完成”。

如果不存在以前的配置,向导会询问以下信息:

1 PLC 必须被设为 PPI 主站模式才能进行通信。您要指定通信将通过哪一个 PLC 端口进行。

2 向导建立一个用于执行具体网络 *** 作的参数化子程序。向导还为子程序指定一个默认名称。您可以编辑默认名称。

步骤 3 指定网络 *** 作

对于每项网络 *** 作,您需要提供下列信息:

1 指定 *** 作是 NETR 还是 NETW。

2 指定从远程 PLC(NETR)读取的数据字节数或向远程 PLC(NETW)写入的数据字节数。

3 指定您希望用于通信的远程 PLC 网络地址。

4 如果您在配置NETR,指定以下内容:

- 数据存储在本地 PLC 中的位置。有效 *** 作数:VB、IB、QB、MB、LB。

- 从远程 PLC 读取数据的位置。有效 *** 作数:VB、IB、QB、MB、LB。

5 如果您在配置 NETW,指定以下内容:

- 数据存储在本地 PLC 中的位置。有效 *** 作数:VB、IB、QB、MB、LB。

- 向远程 PLC 写入数据的位置。有效 *** 作数:VB、IB、QB、MB、LB。

步骤 4 分配 V 存储区

对于您配置的每一项网络 *** 作,要求有 12 个字节的 V 存储区。您指定可放置配置的 V 存储区起始地址。向导会自动为您建议一个地址,但您可以编辑该地址。请注意,如果您使用重叠地址,向导在显示一则警告后,允许您进入下一步。

注释: 在 NETR *** 作中,请确认将用于存储数据的变量地址没有与分配给向导配置的存储区地址重叠。

步骤 5 生成程序代码

回答这些询问后,点击“完成”,S7-200 指令向导将为您指定的网络 *** 作生成代码。由向导建立的子程序成为项目的一部分。要在程序中使能网络通信,需要在主程序块中调用执行子程序(NET_EXE)。每次扫描周期时,使用 SM00 调用该子程序。这样会启动配置网络 *** 作执行。为每项网络 *** 作建立的数据处理子程序会在适当时间被自动调用。

在DLL里面公开的某个子程序下面再添加一个参数 并且 把 数组 和 传址 和可空 勾上 再在这个子程序运行的最后面 把那个新添加的参数 赋值成 你需要返回的数组数据 然后调用该子程序时 填写 最下面那个参数时候 用一个新变量填写进去 运行完这个命令后 那个新变量里面的值 就是那个子程序返回的数组数据了 ---------------------------精易论坛 - 问问团队--------------------------- 此答案来源于 → 精易论坛,要学习编程的可百度一下"精易论坛" 我们的口号是:帮助别人等于帮助自己 需加入本论坛请点击 >

利用上面的第一个子程序,把下标为1的文本型数组元素,如ABC打包成1ABC1,把下标为2的文本型数组元素,如ABC打包成2XYZ2,返回为变量X,文本型,X=“1ABC1”+“2XYZ2”

X=数组成员封包(“ABC”,“”,1)+数组成员封包(“XYZ”,“”,2)

即数组被写为“1ABC12XYZ2”

利用上面第二个子程序,取上面所谓数组元素,把X带入参数,即为

数组成员解析(X,“”,1)

返回“ABC”

用这两个函数,根本不用返回文本型数组,

如果多维数组,可以用类似方法。两个分隔符即可。

还兼容循环赋值。

以上就是关于主程序中未分配的可变数组,如何在子程序中调用全部的内容,包括:主程序中未分配的可变数组,如何在子程序中调用、易语言给dll传递数组型参数拜托了各位 谢谢、易语言的方法返回值类型怎么设置为可以传递文本数组类型的返回值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9854601.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存