前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

为了调好这个通讯,PLC工程师的我在现场多待了两天

qiguaw 2024-10-19 07:51:02 资源文章 61 ℃ 0 评论

Wonderware Intouch与欧姆龙PLC通讯,本文章以欧姆龙CJ2M CPU35为例,通讯方式为MBTCP。

一、配置SMC

1.在AVEVA文件夹目录下,选择并打开“System Platform Management Console”(缩写简称为SMC)

2.打开SMC后,依次展开“Operations Integration Server Manager——项目名——WinPlatform_Main——Operations Integration Supervisory Servers——Omron-OMRONFINS——OI.OMRONFINS.1——Configuration”

3.左键选中“Configuration”,右键选择“Add ChannelSelector Connection”。“Configuration”的相关参数无需设置。

4.左键选择建好的“New_ChannelSelector_000”,在右边出现了三个参数“Ignore Non Fatal PLC Error”“Connection”“Mode”。在帮助文档里面,有对这三个参数的讲解。

  • “Ignore Non Fatal PLC Error”:决定是否PLC上的非致命错误。选择No意味着当PLC出现一个非致命错误时,驱动通道显示状态码64,所有的设备名目被设置成BAD状态;选择YES意味着当PLC出现一个非致命错误时,驱动通道显示状态码0并且发送一个警告信息到日志里,所有的设备名目被保留在GOOD状态。
  • “Connection”:UDP是指UDP/IP网络,Serial是指串口通讯。
  • “Mode”:欧姆龙CS1、CJ1、 CJ2和CP1系列使用CS1模式,CV、CVM1、CVM1D系列使用CV模式,这个餐宿是可选项,如果你不确定,就用默认即可。

我们这里连接是CJ2M系列PLC,使用的是以太网,所以三个参数选择如下图。

5.左键选中“New_ChannelSelector_000”,右键选择“Add DeviceSelector Connection”。

6.左键选中新建的“New_DeviceSelectorSelector_000”,右边会出现如下的一个参数Station,这也是最容易犯迷糊的一个参数。

首先先看帮助文档里面的解释:

  • IP address:在你UDP/IP以太网络上的PLC IP地址;
  • Port number:是指 UDP 端口,由设备上的 FINS 协议使用。它通常为 9600,但可以在设备设置中更改;
  • Network address:根据 FINS 协议,是指设备的子网地址;
  • node number:指定 FINS 子网上的设备节点号 (1-254)。如果未指定值,则会自动插入上次使用的节点号。
  • Unit ID:用于 PC 接口的 ID 号,在 PLC 程序中配置。此参数是可选的;如果未指定任何值,则默认值为 0。
  • Mode:FINS 通信模式确定通信驱动程序可以与之通信的Omron设备的类型。此参数是可选的;如果未指定任何值,则在全局设置中配置默认值。

咋一看,里面有些参数不是很明白,但实际上,查看一下欧姆龙PLC里面网络设置页面,基本上都能对上。如下图

一般来说,PLC编程人员不会去刻意修改网络设置页的内容,因此Station里面设置为:192.168.1.10:9600:0:10:0:CS1(其中Network address应该与IP地址最后一节保持一样,而不是设置为0)。

如果,Intouch不是和PLC直连的,在它们之间还有一个网络耦合器(改变PLC的IP地址,使所有PLC的不同IP转换到统一网段),那么,Station里面设置为:128.10.26.60:9600:0:10:0:CS1(128.10.26.60为网络耦合器转换后的IP地址,后面的所有都保持不变,同时网络耦合器里面设置要有UDP:9600的端口)。

7.设置好Station后,切换到第二个选项卡“Device Groups”,在这里右键添加建立的通道名称,默认名称为“Topic_0”,采样时间为1000ms,“Topic_0”是可以根据自己的取名习惯修改的,但最好改一个和这个PLC特征有关联的名称,比如“RongLian_CJ2M”,完成后点击右上角保存退出。

二、配置IDE

1.打开“System Platform IDE”,弹出以下弹窗:

2.如果是第一次打开,需要新建一个Galaxy,这里Galaxy直接翻译过来是“星系”的意思,在Wonderware Intouch里面,其实指的是整个项目,因为Wonderware Intouch把所有内容都各自模块化,建立驱动连接用的是“System Platform Management Console”,变量点可以在“System Platform Management Console”、“IDE”、或者“Intouch HMI WindowMaker”里面建,画面在“Intouch HMI WindowMaker”,画面运行在“Intouch HMI WindowViewer”,所以Galaxy指的就是他们所有的总和。

  • 点击“New Galaxy”,在“Galaxy name”里面填写项目的名称,我们这里取名为Test。
  • “GR node name”是本机计算机名,如果项目移植到其他主机上,这里需要改为其他主机名;
  • “Galaxy type”,就是选一个项目模板,第一次做项目肯定没有积累的模板,我们选择Default_Empty.cab,如果已经做过相似的项目,可以将上个项目生产cab的模板,直接放在C:Program File(x86)——ArchestrA——Framework——Bin——BackupGalaxies里面。

3.点击Create后,等待进度完成,回到弹窗页面,点击“Connect”,进入IDE主页面。

4.接下来,正确的做法是,将“Template Toolbox”框内的“Device Integration”和“System”下的逐个进行生成Derived Template(派生模板),然后将原“Device Integration”和“System”隐藏不用,而是用新的派生模板,这时因为原“Device Integration”和“System”图标都是带锁的,是不能修改的,而派生模板是根据编程者的需要修改的。我在这里偷懒,就不生成派生模板了,直接当做派生模板来用了。

5.新建“WinPlatform”实例,WinPlatform_001相当于一台主机电脑。

6.新建“AppEngine”实例,AppEngine_001相当于一个应用程序。

7.新建“DDESuiteLinkClient”实例,DDESuiteLinkClient_001相当于通讯驱动。

8.新建“UserDefined”实例,UserDefined_001相当于一个对象,可以是一个阀门,可以使一个罐子,可以是一个PLC,与这个实例相关的过程量就作为这个对象的相关属性设置在这个对象里。

9.新建“Area”实例,Area_001相当于一片区域或者一个工段;

10.在左下角“Deployment”选项卡内,将DDESuiteLinkClient_001按住拖曳到AppEngine_001内部释放,结果如下图:

  1. 接下来我们开始建立变量点。
  2. 双击“UserDefined_001”;
  3. 打开属性的添加“?”按钮;
  4. 在右边出现的属性Name里面填写这个对象的一个属性名,比如Temp(温度);
  5. “Data type”选择Float(浮点型);
  6. “Eng units”填写℃;
  7. “Available features”选择I/O;
  8. “I/O”选项卡里面选择“Read”(只读);
  9. 完成后点击右上角保存按钮。

11.双击“DDESuiteLinkClient_001”,开始设置通讯通道。

  1. 双击打开;
  2. Server node填写本主机IP地址或是直接“localhost”;
  3. Server name填写SMC中OI.OMRONFINS.1的中间部分“OMRONFINS”;
  4. 切到下一个选项卡;
  1. 添加驱动通道;
  2. 此处的通道名称一定与SMC中“Device Groups”中名称一致,我们这里用的是RongLian_CJ2M;
  3. 添加变量名称;
  4. 这里的命名规则是“对象名.属性名”,根据我们前面建立的对象和属性,这里为UserDefined_001.Temp;
  5. 这里需要填写PLC中此变量的变量地址D102,后面加一个F是IDE帮助文档里面要求的数据格式Float;
  6. 保存并check In;

12.此时,对象UserDefined_001图标前带有一个感叹号,意味着没有和驱动通道相绑定,需要将对象拖至相应的驱动通道内。

  1. View——IO Devices;
  2. 将UserDefined_001拖曳至RongLian_CJ2M松开,UserDefined_001的感叹号消失;

13.在SMC界面,OI.OMRON.1右键点击Deactivate,激活消失后,在右键Activate激活一次。

14.在Deployment界面,将各个右键部署下去,相当于使用生效。

15.然后就可以在SMC的以下目录查看变量的实时数值。如果D102F显示红色方框,代表通讯没有连接上,如果是绿色方框且Value列有实时变化的数值,则表示已经连接上。此处由于没有实际的PLC,故显示连不上。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表