客户端通过使用Acp库文件,使用ST语言功能块对已安装有ACP功能的工控机进行变量的读写。
连接拓扑图:

下表概述了各个产品组件
| 产品组件 | 描述说明 |
|---|---|
| DeviceManager_0.0.1.9 | 插件管理器 |
| AcpServer.projectarchive | PLC服务端工程存档 |
| AcpClient.projectarchive | PLC客户端工程存档 |
| SF1000_ACPBaseLibs_1.0.1.0 | PLC库文件 |
| SF1000_AcpSymbol_1.0.1.1 | PLC库文件 |
安装要求
中科时代出厂的工智机的自带系统;
个人电脑可以访问互联网;
安装过程
1、服务端工智机安装acpplcaccess.deb组件
1.打开Device Manager软件

2.初次使用,需要安装ACP通讯服务。点击左下角“安装ACP服务”。

3.输入工智机固定IP地址、端口、用户名和密码后,点击“在线安装”。
| IP地址 | 192.168.1.200 |
|---|---|
| 端口 | 2224 |
| 用户名 | sinsegye |
| 密码 | 1 |

等待安装完成。

4.安装完成后,点击“扫描”,即可扫描出固定网口192.168.1.200连接的工智机。

点击进入工智机后,左下角显示“已连接”状态。

5.点击“安装RTE插件服务”

6.输入用户名:sinsegye,密码:1,点击“在线安装”

7.安装完成后,点击“软件”,在下拉菜单下选择“组件管理”


8.点击浏览,可以在线浏览可以安装的组件。

9.在组件中找到“SF1000-acpplcaccess”--点击“安装”

10.等待deb包传送到工智机中,传送完成后点击“确定”进行安装。

11.安装完成后,点击“确认”重启生效。

12.安装完成后,可以在“本地”页面浏览到SF1000-acpplcaccess已安装成功。

2、客户端工智机SF1000-siacpbaselibs.deb组件
1.打开Device Manager软件

2.初次使用,需要安装ACP通讯服务。点击左下角“安装ACP服务”。

3.输入工智机固定IP地址、端口、用户名和密码后,点击“在线安装”。
| IP地址 | 192.168.110.195 |
|---|---|
| 端口 | 2224 |
| 用户名 | sinsegye |
| 密码 | 1 |

等待安装完成。

4.安装完成后,点击“扫描”,即可扫描出固定网口192.168.110.195连接的工智机。

点击进入工智机后,左下角显示“已连接”状态。

5.点击“安装RTE插件服务”

6.输入用户名:sinsegye,密码:1,点击“在线安装”


7.安装完成后,点击“软件”,在下拉菜单下选择“组件管理”

8.点击浏览,可以在线浏览可以安装的组件。

9.在组件中找到“SF1000-siacpbaselibs”--点击“安装”

10.等待deb包传送到工智机中,传送完成后点击“确定”进行安装。

11.安装完成后,点击“确认”重启生效。

12.安装完成后,可以在“本地”页面浏览到SF1000-siacpbaselibs已安装成功。

3、客户端工智机安装SF1000_ACPBaseLibs和SF1000_AcpSymbol库文件
打开MataFacture IDE软件,选择“工具”--“库存储”

点击“安装”

选择从中科时代官网下载的SF1000_ACPBaseLibs和SF1000_AcpSymbol库文件,点击“打开”

等待库文件安装完成即可。

更新安装
1.服务端更新acpplcaccess组件
在插件管理器Device Mananger--组件管理--本地组件中,点击SF1000-acpplcaccess,选择可更新的版本后,点击“更新”。

2.客户端更新SF1000-siacpbaselibs组件
在插件管理器Device Mananger--组件管理--本地组件中,点击SF1000-siacpbaselibs,选择可更新的版本后,点击“更新”。

3.更新PLC库文件
下载最新版的MetaFacture IDE自带最新版的SF1000_ACPBaseLibs和SF1000_AcpSymbol库文件,如需手动更新,下载最新库文件后,参考《安装过程》进行覆盖安装即可。
卸载过程
卸载工智机deb组件
在插件管理器Device Mananger--组件管理--本地组件中,点击SF1000-acpplcaccess,选择“卸载”

点击“确定”

卸载成功后,点击“确定”重启生效。

卸载成功后,“本地”页面组件消失。

快速启动
(一)本例软、硬件配置
硬件:
服务端工智机SX21
客户端工智机SX5132
工业交换机
个人电脑
软件:
DeviceManager_0.0.1.9
AcpServer.projectarchive
AcpClient.projectarchive
MetaFacture IDE
(二)本例实验操作步骤
1.1 实验原理图
将服务端工智机与客户端工智机通过交换机相连接

1.3 实验步骤
a.解压服务端PLC工程存档AcpServer.projectarchive,登录下载至服务端工智机。

b.解压客户端PLC工程存档AcpClient.projectarchive。
c.修改客户端PLC中的netId为服务端IP,登录下载至服务端工智机


d.将xRead置TRUE,ReadData显示读取值4294967295

e.修改变量WriteData的值,将xWrite变量置TRUE,写入变量值。

查看服务端PLC的udiVar11,成功写入1122334455.

f.再次将xRead置False后置True,ReadData读取为新修改的数值。

1.将官方网站下载的示例AcpServer工程下载到服务端工智机中。
示例AcpServer工程包含一个结构体:

各类型变量,并赋予初始值:

已编译的符号配置

2.在个人电脑中新建示例工程,命名AcpClient

3.选择适合自己的编程语言,点击“确定”

4.点击“库管理器”—“添加库”,添加SF1000_ACPBaseLibs和SF1000_AcpSymbol两个库文件


5.在PLC程序声明中,实例化功能块MetaCore_AcpSymbol.FB_AcpReadSymbol和MetaCore_AcpSymbol.FB_AcpWriteSymbol功能块

7.在PLC程序中,鼠标右键--选择“输入助手”

8.选择“实例调用”--选择“Read”功能块,点击“确定”

9.PLC程序将自动添加Read功能块。

10.声明变量,本例读取客户端的变量为Application.PLC_PRG.udiVar11,类型为UDINT。将读取的数据保存在ReadData变量中。
| 参数名称 | 参数类型 | 描述说明 |
|---|---|---|
| targetId | ARRAY\[0..5] OF USINT | 连接服务端的IP地址,数组类型,最后两位固定为1 |
| bExecute | BOOL | 上升沿启动功能块,进行ACP变量读取, |
| symbol | String | 读取服务端的变量地址,如‘Application.PLC_PRG.udiVar11’ |
| pDst | Pointer to BYTE | 读取服务端的变量数据,数值以BYTE的形式存储在指针指向的地址中 |
| cbDst | UDINT | 读取服务端的变量数据长度,使用SIZEOF()来获取变量类型长度 |
| tTimeout | TIME | 读取超时时间,默认5s |

11.登入客户端192.168.110.195,下载运行程序。


将xRead变量置为True,ReadData成功获取值4294967295

11.使用输入助手添加Write功能块的实例,同时声明xWrite变量作为写入启动变量,WriteData作为写入数据,本例写入服务端变量Application.PLC_PRG.udiVar11,写入值为1122334455.

12.登录客户端设备,将xWrite置TRUE。写入完成。

查看服务端PLC,udiVar11的值已经修改为1122334455

13.可以验证是否写入成功,将xRead再次置TRUE,读取udiVar11,可以看到读取值与写入值相同,说明写入成功


1、无法读取变量数值
解决方法:检查客户端symbol中的变量路径是否与服务端的一致
2、读取变量数值不正确
解决方法:检查客户端读取变量的类型是否与服务端类型一致,使用ADR()和SIZEOF()命令获得指针和数据大小
1、功能块FB_AcpReadSymbol介绍

| 参数名称 | 参数类型 | 描述说明 |
|---|---|---|
| targetId | ARRAY\[0..5] OF USINT | 连接服务端的IP地址,数组最后两位固定为1 |
| bExecute | BOOL | 上升沿启动功能块,进行ACP变量读取 |
| symbol | String | 读取服务端的变量地址,如‘Application.PLC_PRG.Var1’ |
| pDst | Pointer to BYTE | 读取服务端的变量数据,数值以BYTE的形式存储在指针指向的地址中 |
| cbDst | UDINT | 读取服务端的变量数据长度,使用SIZEOF()来获取变量类型长度 |
| tTimeout | TIME | 读取超时时间,默认5s |
| 参数名称 | 参数类型 | 描述说明 |
|---|---|---|
| bBusy | Bool | 功能块运行状态,True为运行,False为空闲 |
| bError | Bool | 是否报错,True为有错误,False为正常 |
| errInfo | String | 错误信息 |
2、功能块FB_AcpWriteSymbol介绍

| 参数名称 | 参数类型 | 描述说明 |
|---|---|---|
| targetId | ARRAY\[0..5] OF USINT | 连接服务端的IP地址,数组最后两位固定为1 |
| bExecute | BOOL | 上升沿启动功能块,进行ACP变量写入 |
| symbol | String | 写入服务端的变量地址,如‘Application.PLC_PRG.Var1’ |
| pSrc | Pointer to BYTE | 写入服务端的变量数据,使用ADR()获取写入变量的地址 |
| cbSrc | UDINT | 写入服务端的变量数据长度,使用SIZEOF()来获取变量类型长度 |
| tTimeout | TIME | 读取超时时间,默认5s |
| 参数名称 | 参数类型 | 描述说明 |
|---|---|---|
| bBusy | Bool | 功能块运行状态,True为运行,False为空闲 |
| bError | Bool | 是否报错,True为有错误,False为正常 |
| errInfo | String | 错误信息 |
建议使用Device Manager安装、卸载插件,如需手动安装deb组件,方法如下:
1.将个人电脑连接至交换机中,并使其IP地址与工智机在同一网段中。

2.将所需要的组件下载至个人电脑,并放置在同一文件夹下。

3.鼠标右键文件夹空白处,选择“在终端中打开”

4.通过scp命令将acpplcaccess_0.1.5-rc.3_amd64.deb文件传输到客户端工智机中。
scp -P 2224 acpplcaccess_0.1.5-rc.3_amd64.deb sinsegye@192.168.110.175:~

密码为1.

通过ssh 远程连接到工智机命令行
ssh -p 2224 sinsegye@192.168.110.175

通过dpkg命令,安装acpplcaccess_0.1.5-rc.3_amd64.deb文件
sudo dpkg -i acpplcaccess_0.1.5-rc.3_amd64.deb
如果发生错误,则可以使用强制安装命令
sudo dpkg -i --force-overwrite acpplcaccess_0.1.5-rc.3_amd64.deb

使用nano命令打开SinsegyeRTE.cfg文件
sudo nano /usr/local/etc/SinsegyeRTE/SinsegyeRTE.cfg

在 \[ComponentManager]下,添加Component.0=AcpPlcAccess(红色部分视具体情况而增加)。Ctrl+X退出—选择Y—回车确定。

重启工智机
sudo reboot
同理,使用如下命令将libacp_0.1.0-rc.5_amd64.deb组件安装至客户端的工智机中,本例客户端工智机IP为192.168.110.123
scp -P 2224 libacp_0.1.0-rc.5_amd64.deb sinsegye@192.168.110.123:~
ssh -p 2224 sinsegye@192.168.110.123
sudo dpkg -i libacp_0.1.0-rc.5_amd64.deb
将acpreadwrite_0.0.1-rc.1_amd64.deb组件安装至客户端的工智机中,本例客户端工智机IP为192.168.110.123
scp -P 2224 acpreadwrite_0.0.1-rc.1_amd64.deb sinsegye@192.168.110.123:~
ssh -p 2224 sinsegye@192.168.110.123
sudo dpkg -i acpreadwrite_0.0.1-rc.1_amd64.deb
使用nano命令打开SinsegyeRTE.cfg文件
sudo nano /usr/local/etc/SinsegyeRTE/SinsegyeRTE.cfg
在 \[ComponentManager]下,添加Component.0=acpreadwrite(红色部分视具体情况而增加)

重启工智机
sudo reboot
下表概述了可能出现的意外操作行为以及解决方法。
| 意外操作行为 | 解决方法 |
|---|---|
| 读写的变量名称与服务端的变量路径或名称不相同 | 修改变量路径或名称 |
| 读写的变量类型与服务端的变量类型不相同 | 修改变量类型 |
| 读写的结构体或结构体子成员类型与服务端不相同 | 确认服务端结构体,修改读取的结构体类型及子成员 |
中科时代为公司产品及解决方案提供全方位支持与服务,确保针对相关问题给予快速且专业的响应。
资料下载
我们的资料下载专区涵盖了丰富的文件资源,包括应用案例、技术文档、产品介绍等,满足您的多样化需求。
资料下载地址:https://help.sinsegye.com.cn/
获取支持
如需中科时代产品的本地支持与服务,请随时联系我们。您可以通过访问我们的官方网站www.sinsegye.com.cn,查找中科时代的分公司地址,并获取更多关于中科时代的信息。
此外,您还可以通过以下方式联系我们:
热线电话:400-013-2158