概述
在第一个示例中,我们将编写字符串“Hello, world !”的便笺本区域OptoMMP内存映射。
这个示例假设您基本熟悉CODESYS开发系统的创建和运行应用程序。
第一步,确定OptoMMP地址使用
“你好,世界!“字符串将字符串写入便笺本区域。便笺本是一个功能的I / O服务。这是一个方便和中央地方不同的程序来读取和写入数据。
必须确定正确的OptoMMP内存映射地址。这可以通过两种方式完成。
方法1 - OptoMMP协议指南
的OptoMMP协议指南(1465)形式包含一个完整的参考OptoMMP内存映射。
中定义的便笺本地区“附录一:抓PAD-READ /写”。

我们将使用元素0,我们需要字符串数据的地址,而不是长度。根据表,内存地址是0 xf0d83002。
方法2 - MMP的计算器groov管理
groov管理上的groov史诗处理器包含一个方便的工具被称为MMP计算器寻找和calculcating OptoMMP内存映射地址。
- 在groov管理,点击> > I / O > I / O服务MMP的计算器。
- 对于区域,选择便笺本,字符串。
- 对于元素指数,选择0。
方法1的文档,它显示了光电子的MMP的内存地址是0 xf0d83002。

步骤2 -添加光电子的22个图书馆
- 创建或打开一个应用程序内的CODESYS开发系统。
确保光电子22图书馆,3.0.0.0或更高版本,添加到库管理器。

步骤3 -添加POU和变量
这个例子需要一个程序(POU)和三个变量。
- 创建一个新的POU命名
MMP_HELLO_WORLD_CFC与连续函数图表(CFC)作为实现语言。 - 新项目添加到任务配置。
添加以下变量的声明区域
MMP_HELLO_WORLD_CFC程序。程序MMP_HELLO_WORLD_CFC VAR sMsg:字符串:=“Hello, world !”;mmpClient: OPTO.MmpClient;mmpClientWriteBlock: OPTO.MmpClientWriteBlock;END_VAR
sMsg是字符串变量将被写入OptoMMP抓图。mmpClient是MmpClient功能块,将管理与内部OptoMMP服务器连接和沟通。mmpClientWriteBlock是MmpClientWriteBlock功能块,使得具体写请求。
步骤4——初始化MmpClient实例
- 在声明编辑器中,双击
mmpClient变量,并将其拖动到实现区域。 - 的一些输入需要设置。
- 分配
真正的来xConnect。 - 分配
“127.0.0.1”来sAddress。
- 分配
其他的输入可以保留为默认值。

步骤5 -初始化MmpClientWriteBlock实例
- 在声明编辑器中,双击
mmpClientWriteBlock变量,并将其拖动到实现区域。 - 的一些输入需要设置。
- 分配
16 # F0D83002来udiMmpAddress。- 这是OptoMMP内存映射在步骤1中确定的地址。
- 分配
mmpClient来rClient。- 这是一个参考给客户机。
- 分配
美国存托凭证(sMsg)来pData。pData的类型是字节指针,是一个指针的数据块被写入。在这种情况下,我们需要的内存地址字符串值。的美国存托凭证操作符用于获取的地址字符串的内容。
- 分配
TO_UINT (LEN (sMsg))来uiCount。- 的
uiCount输入需要被写入的字节数。这可以calculcated与LEN ()函数。LEN ()返回一个UDINT,必须转换为一个使用UINT与TO_UINT操作符。
- 的
- 分配
真正的来bSkipByteSwap。

- 分配
步骤6 -连接的功能模块
这个例子非常简单。一旦客户端连接,字符串值将写一次。
这可以通过简单地连接xConnected从客户端输出xExecute写请求的输入。

步骤7 -运行并查看结果
在运行应用程序之前,使用groov管理查看OptoMMP内存映射的地址。
- 在groov管理,导航到家里> I / O > >通用MMP的I / O服务。
- 的地址,输入0 xf0d83002。
- 对于数据类型,选择字符串。
- 对于编码,选择美国信息交换标准代码。
对于长度,输入20.。

回到CODESYS:
- 进入在线模式。
- 运行应用程序。
如果一切顺利,应该有一个客户之间的蓝线xConnected块的输出和请求xExecute输入,xDone输出应该真正的。

在通用MMP的页面groov管理、便笺本字符串元素应该显示“Hello, world !的消息。

梯子逻辑版本
这个例子在梯子逻辑(LD)非常相似。这里有一个方法可以写成:

保持代码干净,两个网络梯级。还有一个客户之间的联系xConnected输出和xExecute写请求的输入。
结构化文本版本
这个例子在文本结构(ST)非常相似。这里有一个方法可以写成:

还有一个客户之间的联系xConnected输出和xExecute写请求的输入。
下一个步骤
继续的写一个整数的例子。




