操作入门操作入门操作入门操作入门
我们将向你介绍:使用 PS501 软件和 AC500 系统编辑一个小程序。
www.plcworld.cn
使用入门:
下面我们举一个例子来说明如何创建一个
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
:
• 一个 CPU 单元(PM581-ETH )和一个 CPU 地板(TB511-ETH,带一个扩展通讯槽)
• 一个数字量 I/O 模块 DC532 (16 点数字量输入,16 点数字量输入/输出可设置。)
• 一个 24v DC 电源。
• 一个安装了 PS501 软件的可以用来编写程序的计算机。
• 一根电缆(TK501 5m),用来连接 CPU 和计算机的串口编程电缆。
任务:在这个例子里,我们是用 FBD(功能块)方式编写程序。
以一个数字量输入信号触发一个数字量输出信号。
创建一个新工程:
1. 首先,打开 ABB 的 PS501 软件,选择[File] /[New] 新建一个工程。如下图所示:
2.在弹出的窗口中选择相应的 CPU 型号,本例中我们选择:“AC500 PM581”。
选择完毕后,点击[OK]
www.plcworld.cn
3.在上步点击[OK]之后,弹出目标设定窗口。通常我们选择默认设置,直接点击[OK]键确认。
4. 在这个弹出的窗口中,你可以定义 POU(程序组织单元)的名字、可以选择 POU 的类型
以及 POU 的编程语言。在这个例子中我们选择了 FBD(功能块编程语言),默认
PLC_PRG 名字。
www.plcworld.cn
5. 现在你已经打开一个新工程了:
把新建的工程保存在电脑中:
1. 点击[File] / [Save as ] 把新建工程保存在软件的安装目录下[Projects ]文件夹下。
www.plcworld.cn
2. 确定新建工程的名称,保存在电脑中。
硬件组态:
1.点击左侧窗口中的[Resources]标签:
www.plcworld.cn
2. 在弹出窗口中双击[PLC Configuration ]选项,出现下面的窗口。
3. 在中间出现的窗口中,有一个[AC500]文件夹。打开文件夹,出现硬件组态树状结构图。
选择每一项内容,并在上点击鼠标右键,可以进行相应的设定和选择。
本例中我们只选择 I/O – BUS [ FIX ] 选项,点击鼠标右键,进行 I/O 模块的选择。
www.plcworld.cn
配置一个 DC532 模块:16DI / 16DC
1. 在弹出的窗口中,选择 DC532-16 DI/16DC 模块。
2.选择完后,点击已添加的模块。可以对相应的模块参数进行设定,本例中选择默认参数。
www.plcworld.cn
3. 在添加了 DC532 模块后,出现下图说所示的内容。DI 输入 0-15 / 根据变量属性的不同,
分成了:WORD (字变量),BYTE(字节变量),BOOL(布尔变量)。我们在这里全部选
用 BOOL 变量(Input 0 – Input 15).
4. 点击选择某个变量后,会在变量的右侧出现一个基本参数窗口,在注释里可以写入对变
量的描述。如下图所示:
www.plcworld.cn
5. 除了支持变量内容注释外,软件还支持对于具体的每一个变量进行变量名的更新。
双击变量中的字母“AT”这时,会出现一个方框,可以在里面对变量进行命名。(支持
英文和数字)
6. 前面我们介绍了 16 点数字量输入的变量定义和地址分配;接下来,我们对另外的 16 DC
(即:16 点数字量输入/输出可设置)进行说明和定义。
如下图所示:对于 DC532 可设置模块的 16 个可设置(组态)通道,每一个通道提供了
两种状态:( 1.Digital In/Outputs – Inputs 输入 和2.Digital In/Outputs – Outputs 输出 ) 用
户可以依据实际需要,进行相应的设置。但是,为了保证设置的正确有效,同一个可设
置通道只能有一种状态被设定和使用。(即:不允许同一个可设置通道有两种状态,输
入和输出同时被设定。)本例中:我们把可设置通道全部作为输出点来使用。
www.plcworld.cn
功能块编辑:(创建一个程序)
1. 点击主窗口右下方的[POU]标签,进入程序编辑界面:本例中我们选用了 FBD 编程方式。
2.这时,在工具栏中会出现一些常用的功能块快捷图标。本例中我们选择了第三个快捷图标:
IN—R (Assign) 用一个输入来触发一个输出。如下图所示:
2. 点击完毕后,在程序界面会出现两组红色的问号。用鼠标单击问号组,然后按下功能键
F2 界面会弹出一个[Help Manager] 窗口。通过这个窗口,用户可以选择已经定义过的
变量。包括:本地变量、全局变量和系统变量。
本例中:我们选择了在硬件组态中已经定义过的两个全局变量。 I0 digital (BOOL) 和
Q0 digital (BOOL)
www.plcworld.cn
4.编写完程序后,我们需要对程序进行校验。点击 [Project] 选择 [Rebuild ] 或者
[ Rebuild all ] ,编程软件可以对用户编写的程序进行编译和校验。如果出现错误或警告,
系统会在信息栏中用红色字体提示和显示。用户可以根据显示的信息和错误代码进行相应的
修改和编译。待编译完毕后,需要再次重复上述步骤进行校验。
设置通讯参数:
1. 编译完所有的程序并校验无误后,我们需要把程序下载到 CPU 中。这时就需要对连接
方式和连接端口进行选择和设定,AC500 系列 CPU 可以通过多种方式进行编程连接。
如:COM1 口 / COM2 口 ,如果 CPU 支持以太网功能则还可以用 Ethernet 端口来下载程序。
本例中:我们选择 COM2 口来进行程序下载。在主窗口界面选择[Resource] 按钮,进入硬
件设置界面,选择 COM2 – Online access [SLOT] (默认)。可以对端口的基本信息进行设定。
www.plcworld.cn
2. 接下来,选择[Online] 菜单里的[Communication Parameters ] 通讯参数设定选项,进行通
讯参数的设置:如下图所示:
2. 在弹出的通讯参数设定窗口中,首先选择[Gateway…]项 ,把[Connection]项设定为
(Local )模式。
如下图所示:
www.plcworld.cn
4. 接下来,我们就可以点击[New] 选项来选择相应的通讯方式。本例中我们选择了串口通
讯方式,Serial(RS232),如下图所示:
5. 在选定了通讯方式后,我们可以对选定模式的通讯参数进行设定。如果用户选用了串口
通讯方式,在设定中需要注意一点:要把[ Motorola byte order ] 选项设定为 Yes 。其它的
参数可以根据实际要求来设定,如下图所示:
www.plcworld.cn
编译完的程序和 PLC 硬件的连接:
1. 下载 PLC 程序
点击[ online ] – Login :弹出程序下载选择界面,选择后即可下载或连接到 CPU。
2.下载完毕后,需要创建一个 Boot 文件。(此功能可以设定为自动下载)
www.plcworld.cn
运行程序:
1.在[ Online ] 菜单里选择 Run 选项,程序进入运行状态。
2. 在运行状态中,可以使用强制功能对变量进行强制和释放操作。如下图所示:
3. 我们可以看到,程序中的变量变成了蓝色。如下图所示:
www.plcworld.cn
4.用户可以打开硬件组态界面,察看程序中变量的运行状态。如下图所示:
www.plcworld.cn
分布式 I/O 扩展配置举例:
说明:
AC500 系列 PLC 的 I/O 扩展有两种方式:本地扩展和分布式扩展。在 CPU 本地最多可以扩
展 7 个 I/O 模块,如果仍然需要添加 I/O 模块,可以通过现场总线的方式来进行分布式扩展。
AC500 支持常用的现场总线(如:Profibus-DP 、CanOpen、DeviceNet…等)和 ABB 自己
的 CS31 总线。
本例中:我们介绍非常普遍的 Profibus DP 分布式扩展方式。在进行分布式扩展时,需要增
加一个分布式扩展模块:DC505-FBP (Profibus DP 从站) 每增加一个从站就需要添加一
个分布式扩展模块。每个分布式模块的带模块能力:开关量模块 Max:7 块 ;模拟量模块
Max:32 路输入 32 路输出 ,总共不能超过 64 路。通讯距离和带从站的数量由所选择的总
线决定。如:Profibus DP ,不带中继器 32 个从站,通讯距离为 1200 米。
www.plcworld.cn
1..选择 CPU 类型
2.在选择了编程语言后,进入了程序编辑界面。点击左侧窗口下方的[Resources]进入如下
界面。
3.根据实际配置进行硬件组态:添加本地的 I/O 模块和通讯模块
www.plcworld.cn
4.完成硬件配置后,保存工程文件。然后,打开[Tools]文件夹双击[SYCON.net]进行
PROFIBUS-DP 的配置:
5.首先,在网络配置窗口中选择现场总线的主站模块图标[本例中,选择了 PROFIBUS-DP
总线的主站:CM572-DPM ]。鼠标拖拽图标,将它添加到绿色的系统总线上。这时,会
弹出一个参数配置窗口,可以设定模块的地址。
www.plcworld.cn
6. 添加总线的从站。选择相应的从站(总线适配器)图标,并将其通过鼠标拖拽到主站的
总线上。[本例中的 PROFIBUS-DP 总线为紫色,从站总线适配器为:PDP22-FBP
(DPV1-moudal)]
7. 添加从站总线接口模块:点击挂在总线上的从站图标,弹出配置窗口。在窗口中选择
[Modules] 在其右侧[Available Modules]窗口中选择从站总线接口模块[DC505-FBP],双
击及可将此模块添加到[Configured Modules]窗口中。如果还需要在 DC505-FBP 后面继
续添加 I/O 模块,可以重复上述操作,因为 DC505-FBP 总线接口模块带 I/O 模块的能力
和数量有限[数字量模块 Max:7 块,模拟量模块 Max:64 路。],所以不能超过其限制。
www.plcworld.cn
8.给从站中 I/O 进行变量定义。选择[NetConnect]窗口,点击其中添加模块的输入或者输出
文件夹,在下方的表格中会出现如下图所示的变量属性描述条目。在该条目上点击鼠标
右键弹出[Create Variable]菜单,点击菜单弹出变量定义界面,选择相应的变量属性和变
量名即可。
9.主站配置:双击主站图标,弹出配置窗口。首先,确认[Driver]文件夹中的驱动是否正确,
即:看[Driver name ]是否和当前下载程序的驱动一致。如:本例中都是用 COM4 口来下
www.plcworld.cn
载程序和下载通讯参数。如果驱动不一致,可以点击右侧下方的[Gateway Configuration]
进行选择和配置。
至此,现场总线的组态已全部完成,保存后可退出 SYCON.net。编写完程序后,将计算
机与 CPU 用编程电缆连好(通过串口或以太网),在下载程序之间应先将现场总线组态文件
下载到主站中,操作如下:
1.主站模块确认:在正确配置了驱动后,点击[Device Assignment]选项。系统会自动地扫描
到分配的硬件。选择在表格中列出的硬件名称前的方块,按[OK]确认配置。
www.plcworld.cn
2.下载配置内容:在主站模块上点击右键,下载配置内容。
3.下载完毕后,点击[File] – [save] 保存配置,退出完成配置。
www.plcworld.cn
下载完网络组态后,再将程序下载到 CPU 中。进入了程序运行界面,用户可以按照自
己的要求进行相应的操作。如:
监视程序:
变量跟踪:
www.plcworld.cn
通过 CS31 总线进行分布式 I/O 扩展:
通过前面的熟悉和使用,用户对于 AC500 PLC 的系统结构和软件使用有了初步的认
识。接下来,我们向大家介绍另外一种分布式扩展方式:即 ABB 公司的 CS31 总线来实现
的分布式扩展。
对于 AC500 的每一个从站都需要添加一个分布式从站模块:DC551-CS31 ,分布式模
块的右侧可以连接 I/O 模块。每个分布式模块的带模块能力为:开关量模块 Max:7 块 ;
模拟量模块 Max:32 路输入 / 32 路输出 ,总共不能超过 64 路 。
对于 AC500 的 CPU 还可以通过 COM1 口的 CS31 总线,来连接 AC31 系列 PLC 中的
50 、90 型 PLC 的 CPU 单元及其扩展模块。通过这种方式添加的分布式从站的带模块能力
以 AC31 系列 PLC 参数为准。(如:50 系列 CPU 能带 6 个 I/O 模块…)
整个 CS31 总线系统采用主从结构:一个主站可以带最大 31 个分布式从站。通讯距离:
不加中继器为 500 米,增加中继器(最多 3 个)最远可达 1200 米;最大通讯波特率:187.5Kbit/s
应用举例:
• 在这里我们通过一个实例来向大家说明,AC500 的 CS31 分布式扩展:
• 本地机架配置:
PM581( CPU 单元) + TB511-ETH (CPU 底板)+TA524(通讯槽盲板)+
DC523(本地连接 I/O 模块)+TU515(I/O 模块地板) , DC 24V 电源 .
• 分布式扩展配置:
DC551-CS31 (分布式扩展模块,集成 8DI / 8 DC‘I/O 可设置’) + TU551-CS31(分布式扩展
模块地板)+ 其他标准的 I/O 模块.( 数量和种类参见:前面提到过的标准 )
1. 首先,我们进入到硬件配置(组态)界面。添加相应地本地 I/O 模块。接下来,在窗口
中选择( Interface [FIX] ) 选项,选择 COM1-Online access [SLOT] 项,单击鼠标右键在弹
出窗口中选择 [ Replace element ] 。这时,会出现一个选择条目,选中:[ COM1- CS31 Bus]
项即可。如下图所示:
www.plcworld.cn
2. 接下来,COM1-Online access [SLOT] 项变换为 COM1- CS31 Bus [SLOT] 项。继续在该
项上点击鼠标右键,在弹出条目中选择[ Append Sub element ]项,在弹出列表中选择可添加
的分布式模块。在这里我们统一选择[DC551-CS31 8DI+16DC ]模块,如下图所示:
www.plcworld.cn
3. 完成上一步的添加后,再右键点击刚才添加的[DC551-CS31 ] 图标。在弹出的选项中点
击[Append Sub element]即可按照前述的标准,给分布式扩展模块添加相应的 I/O 模块了。
4. CS31 总线基于 RS-485 通讯协议,支持主从结构,一个主站最多可添加 31 个从站单元。
所以,在本例中可以根据需要添加相应的 DC551-CS31 分布式扩展模块。每一个 DC551-CS31
模块最多可扩展 7 个数字量 I/O 模块和 64 路模拟量模块。如下图所示:
5. 添加完所需的模块后,每个模块的变量地址分配同前面 I/O 模块的地址分配一致,详情
www.plcworld.cn
请察看前面章节的描述和说明。
End
www.plcworld.cn
集成以太网的设定
AC500 系列 PLC 的内部以太网口通讯设定,根据其 IP 地址的形式可以分为两种方式:
第一种:临时 IP 地址。即:设定的 IP 地址不具备断电保持功能。在设定后,可以进行程序
编辑可以进行临时通讯。但是,在系统重新上电后该 IP 地址将不能保持。系统 IP 地址恢复
到设定前的状态。
第二种:固定 IP 地址。这个很简单,即设定的 IP 地址具有断电保持的功能。能够稳定的进
行程序编译和以太网通讯。
接下来我们将分别进行介绍和演示:
一一一一、、、、临时临时临时临时 IP 地址的设定地址的设定地址的设定地址的设定
在硬件组态中添加相应的内部以太网接口:PM5x1-ETH-Internal-Ethernet[SLOT]
www.plcworld.cn
第一步:打开已经编译好的 POU(程序组织单元)。在[ Resource] 选项中,展开[Tools]文件
夹。选择其中的[IP Configuration] 选项。
第二步:连接好上位机和 CPU 单元上的以太网接口,在打开的以太网设备配置对话框中,
点选[Search Device]选项。(注意:此时应该关闭防火墙,或者将 IP 地址设置为允许访问地
址。)
www.plcworld.cn
第三步:这时,系统会自动监测到 CPU 单元的原来已经设定的 IP 地址。
本例中:IP:192.168.1.111 ;如果,CPU 中没有设定 IP 地址。搜索结果将是:IP::::0.0.0.0
第四步:接下来,我们就可以设置自己的 IP 地址了,注意:这个地址是断电不保持的。
选择[Configure] – [Set IP Address]就可以输入了。
www.plcworld.cn
第五步:将设定好的 IP 地址下载到 CPU 中,点选[OK]选项。
第六步:设定确认。我们重新点击[Search Devices ],系统将搜索到我么新设定的 IP 地址。
本例中:IP::::192.168.10.100 .设定就完成了。
!!再次提醒大家再次提醒大家再次提醒大家再次提醒大家::::这个功能是用在这个功能是用在这个功能是用在这个功能是用在::::不具备设定或者更改固定不具备设定或者更改固定不具备设定或者更改固定不具备设定或者更改固定 IP 地址的情况下地址的情况下地址的情况下地址的情况下,,,,临时的临时的临时的临时的
进行程序下载和通讯进行程序下载和通讯进行程序下载和通讯进行程序下载和通讯。。。。它它它它不能用来设定稳定可靠的固定不能用来设定稳定可靠的固定不能用来设定稳定可靠的固定不能用来设定稳定可靠的固定 IP 地址通讯地址通讯地址通讯地址通讯。。。。
www.plcworld.cn
二二二二、、、、固定固定固定固定 IP 地址的设定地址的设定地址的设定地址的设定
内部以太网固定 IP 地址的设定:(本例中:以 COM 口为例,进行设置演示。)
第一步:打开 SYSCN.net 设置工具,在总线配置界面上添加 CM577-ETH 模块。
第二步:
双击添加好的 CM577-ETH 模块,弹出设备配置对话框。点击[3S Gateway Driver]选项,
在弹出窗口中选择[Gateway Configuration]选项,设置下载和连接的通讯接口。
www.plcworld.cn
第三步:
选择[Device Assignment]选项,系统会通过上一步设定好的通讯口自动检测到以设定的
内部以太网接口,点击确认。(在硬件组态中添加:PM5x1-ETH-Internal-Ethernet[SLOT] )
第四步:
选择[Configuration ]选项,进入 IP 地址设定界面。注意:IP 地址的设定在这里有区别:
从上到下从上到下从上到下从上到下依依依依次为从低位到高位次为从低位到高位次为从低位到高位次为从低位到高位,
如本例:100.10.168.192 从低位到高位。实际:IP:192.168.10.100
www.plcworld.cn
第五步:
接下来我们配置 CPU 允许访问或连接的 Server 数量。点选[OMB_SRTUP]选项,即可
进行设定。本例中,我们设定[Server Connections] 为 2 。
第六步:
下载设置好的参数。
www.plcworld.cn
第七步:
下载完毕后,断开连接保存设置。
第八步:
检查配置好的固定以太网地址。断开 CPU 电源,稍后 2 分钟。系统重新上电,进行 IP 地址
搜索,确认地址设定是否一致。本例中:校验结果相同,设置正确。
www.plcworld.cn
第九步:
设置完毕后,可以使用固定 IP 地址进行:程序编译和以太网通讯。
www.plcworld.cn
附录
AC500 的变量和寻址:
1.1 AC500 中的输入、输出和标识
PS501 软件支持的所有操作数都可以在控制器的文档中找到描述。大家在此读到的文档将详
细介绍 PS501 中的“地址”操作数。( %I 为输入 , %Q 为输出 )
在 Control Builder 中,所有可设定地址的操作数可以分为:以位(X)变量访问 ,以字节(B)
变量访问 ,以字(W)变量访问 和以双字(D)变量访问 。操作数的访问可以采用摩托
罗拉字节顺序,在软件中需要把这一项设定为[YES]。
可设定地址操作数的声明可设定地址操作数的声明可设定地址操作数的声明可设定地址操作数的声明::::
可设定地址标志区中操作数的声明,可按如下方法操作:
Symbol AT address : Type [:=initialization value];(;(;(;(*comment*))))
[-] 可选项
输入和输出在PLC组态中进行声明。与CPU底板直接连接的输入、输出设备直接在PLC硬件
组态中声明。连接在通讯模块上的输入、输出设备用现场总线组态工具SYCON.net来组态。
SYCON.net集成在控制器编程软件Control Builder中,详情请查看软件使用手册中的相关描
述。
注意注意注意注意::::
对于多任务来说,每个任务的开关量输入和输出每个字节循环是一致的。即:例如任务
1 的输入为 %IX0.0 - %IX0.7 , 任务 2 的输入为%IX1.0 - % IX1.7 。
如果,任务 1 优先权高,输入%IX0.0 在任务 1 和任务 2 中都用到,那么%IX0.0 的值可
能在任务 2 的循环周期内被任务 1 修改。
对于只有一个任务的编程来说,不会有这样的问题。
www.plcworld.cn
1.2 AC500 的输入/输出接口
在 AC500 中支持下列输入、输出接口:
序号序号序号序号 类型类型类型类型 描述描述描述描述 输入输出个数输入输出个数输入输出个数输入输出个数
由 PS501 软件中的硬件组态项来设定:
1 I/O 总线 I/O 模块的接口 最多 7 个模块,每个模块 Max: 32 通道
(IX、QX、IW、QW)
CS31 总线 最多 31 个从站,每个模块 Max:32 通道
地址:(0-61)
2
COM1
分布式 I/O 扩展 RS-232 / RS-485
3 COM2 分布式 I/O 扩展 RS-232 / RS-485
4 FBP 从站接口 Field Bus Plug 适配器 现场总线从站
5 Int. Coupler 内部通讯卡 ARCNET… (由其他软件设定)
由 PS501 软件集成的 SYCON.net 来设定:
6 Line 0 内部通讯卡(Internal
Couple )
每个 4KB %I0.xx / %Q0.xx
7 Line 1 通讯卡 1 每个 4KB %I1.xx / %Q1.xx
8 Line 2 通讯卡 2 每个 4KB %I2.xx / %Q2.xx
9 Line 3 通讯卡 3 每个 4KB %I3.xx / %Q3.xx
10 Line 4 通讯卡 4 每个 4KB %I4.xx / %Q4.xx
1.2.1 输入输出的地址:
序号 设备 输入/输出 接口 区域 地址
采用 PS501 组态(CPU 及 I/O),或采用 SYCON.net 组态(内部通讯卡)
输入(4KB) I/O 总线
COM1
COM2
FBP
0000…0999
1000…1999
2000…2999
3000…4095
%IB0…%IB4095
%IW0…%IW2047
%ID0…%ID1023
%IX0.0…%IX4095.7
CPU
I/O 模块
输出(4KB)
CPU
I/O 总线
COM1
COM2
FBP
0000…0999
1000…1999
2000…2999
3000…4095
%QB0…%QB4095
%QW0…%QW2047
%QD0…%QD1023
%QX0.0…%QX4095.7
输入(4KB) %IB0…%IB4095
%IW0…%IW2047
%ID0…%ID1023
%IX0.0…%IX4095.7
0
…
5
内部通讯卡
输出(4KB)
Line0
0.0000
…
0.4095 %QB0…%QB4095
%QW0…%QW2047
%QD0…%QD1023
%QX0.0…%QX4095.7
www.plcworld.cn
采用 SYCON.net 组态
输入(4KB) %IB1.0…%IB1.4095
%IW1.0…%IW1.2047
%ID1.0…%ID1.1023
%IX1.0.0…
%IX1.4095.7
6
通讯卡 1
输出(4KB)
Line1
1.0000…
1.4095 %QB1.0…%QB1.4095
%QW1.0…%QW1.2047
%QD1.0…%QD1.1023
%QX1.0.0…
%QX1.4095.7
…
输入(4KB) %IB4.0…%IB4.4095
%IW4.0…%IW4.2047
%ID4.0…%ID4.1023
%IX4.0.0…
%IX4.4095.7
9
通讯卡 4
输出(4KB)
Line4
4.0000…
4.4095 %QB4.0…%QB4.4095
%QW4.0…%QW4.2047
%QD4.0…%QD4.1023
%QX4.0.0…
%QX4.4095.7
1.2.2 多任务处理系统中的输入、输出的处理。
下图显示了在多任务系统中输入、输出时如何处理的:
www.plcworld.cn
I/O 总线的输入总线的输入总线的输入总线的输入::::
当所有的 I/O 模块在 I/O 总线上处理完毕后,在处理器中生成一个相关的中断。在中断
服务程序(ISR)中,输入被复制到输入数据映像上。当任务更新输出后,输出映像中的内
容被拷贝到输出。
CS31 系统总线的输入系统总线的输入系统总线的输入系统总线的输入::::
当 CS31 驱动器处理了所有的 I/O 模块后,处理器中生成一个相关的中断。在中断服务
程序(ISR)期间,输入被复制到输入数据映像上。当任务完成后,输出映像中的内容被拷
贝到输出。
Line0 到到到到 Line4 通讯卡的输通讯卡的输通讯卡的输通讯卡的输入入入入:
当通讯卡接受到新数据后,处理器产生一个相关的中断。在中断服务程序(ISR)中,
输入被从DPR中复制到输入数据映像上。当任务更新输出后,输出映像中的内容被拷贝到
DPR。
所有这些的前提条件是通讯卡组态有效。
当任务启动时,任务中用到的输入以字节的方式从输入映像中被复制到映像。字节方式
是指,例如:当输入用到%IX0.0 时,输入%IX0.0 … IX0.7 的映像都将拷贝到映像区。
由于只有那些在任务中直接使用的输入被拷贝,所以如果要求周期一致的话,输入不能
间接读取。
所有任务将基于映像工作,即输入读自映像,输出写入映像。在[Online ]模式下,可以
显示输入/输出的映像。
在任务处理完毕后,任务中使用到的输出将以字节方式从映像复制到输出数据映像。字
节方式是指,例如当用到%QX0.0 时,输出%QX0.0 … %QX0.7 都将被拷贝到输出数据映像
区。CS31 处理器和通讯卡 0…4 中的内部变量“输出数据映像更新”将被设定。
I/O 总线的输出总线的输出总线的输出总线的输出:
在 I/O 总线驱动器的下一次中断,输出映像的输出将被写入,并且变量“输出数据映像更
新”将被复位。
在在在在 C31 系统总线的输出系统总线的输出系统总线的输出系统总线的输出:
在 CS31 处理器的下一次中断,输出映像的输出将被写出,并且变量“输出数据映像更新”
将被复位。
启动一个任务
处理一个任务:
输出数据映像处理的中止:
写输出:
输入数据映像的生成:
www.plcworld.cn
Line0 到到到到 Line4 通讯卡的输出通讯卡的输出通讯卡的输出通讯卡的输出:
在通讯卡的下一次中断,输出映像的输出将被写到 DPR,并且变量“输出数据映像更新”
将复位。
为了更新在任务中没有用到的输入、输出,所有映像的输入、输出的更新将通过一个低权
限的任务来实现。这一任务在没有其它用户任务执行的情况下运行。
2.1 AC500 中寻址标志区中寻址标志区中寻址标志区中寻址标志区 (%M 区区区区)
2.1.1 在 AC500 中寻址标志区的分配:
AC500 的寻址标志区分成不同的段,每段 64K 。最多 8 段可以编址。各段或者部分段的性
能依赖于 CPU 。%M 区域的大小在 CPU 的技术数据(参见 CPU 技术数据),中可以查到。
段 操作 大小(Dec)累积[KB] 大小(Hex) 累积[KB]
0 %MB0.0 …%MB0.65535 64K 16#10000
1 %MB1.0 …%MB1.65535 128K 16#20000
2 %MB2.0 …%MB2.65535 192K 16#30000
3 %MB3.0 …%MB3.65535 256K 16#40000
4 %MB4.0 …%MB4.65535 320K 16#50000
5 %MB5.0 …%MB5.65535 384K 16#60000
6 %MB6.0 …%MB6.65535 448K 16#70000
7 %MB7.0 …%MB7.65535 512K 16#80000
2.1.2 通过 Modbus® 协议访问%M 区域:
AC500 系统中支持 Modbus®RTU 协议。在 Modbus®协议下,寻址标志区的段 0 和段 1 可被
访问。
关于 Modbus®协议的详细描述和相关寻址,请参见通讯部分的 Modbus®协议。
Modbus 通讯时,不能直接访问输入和输出的地址。内存中的地址%M 与 Modbus 地址的对
应关系如下表所示:
字或双字的 Modbus 地址分配:
Modbus 地址 字节 : 位(源于字节): 字 : 双字:
十六进制 十进制 BYTE BOOL WORD DWORD
段 0
%MB0.0 %MX0.0.0 … %MX0.0.7
0000 0
%MB0.1 %MX0.1.0 … %MX0.1.7
%MW0.0
%MB0.2 %MX0.2.0 … %MX0.2.7
0001 1
%MB0.3 %MX0.3.0 … %MX0.3.7
%MW0.1
%MD0.0
0002 2 %MB0.4 %MX0.4.0 … %MX0.4.7 %MW0.2 %MD0.1
I/O 更新任务:
注释:对于 AC500 的 PM571 CPU 来说,寻址标志区只有一个完整的段。因此,并不是
所有的 Modbus®地址都可以访问。
www.plcworld.cn
%MB0.5 %MX0.5.0 … %MX0.5.7
%MB0.6 %MX0.6.0 … %MX0.6.7
0003 3
%MB0.7 %MX0.7.0 … %MX0.7.7
%MW0.3
…
%MB0.65532 %MX0.65532.0 …
%MX0.65532.7
7FFE 32766
%MB0.65533 %MX0.65533.0 …
%MX0.65533.7
%MW0.32766
%MB0.65534 %MX0.65534.0 …
%MX0.65534.7
7FFF 32767
%MB0.65535 %MX0.65535.0 …
%MX0.65535.7
%MW0.32767
%MD0.16383
段 1
%MB1.0 %MX1.0.0 … %MX1.0.7
8000 32768
%MB1.1 %MX1.1.0 … %MX1.1.7
%MW1.0
%MB1.2 %MX1.2.0 … %MX1.2.7
8001 32769
%MB1.3 %MX1.3.0 … %MX1.3.7
%MW1.1
%MD1.0
%MB1.4 %MX1.4.0 … %MX1.4.7
8002 32770
%MB1.5 %MX1.5.0 … %MX1.5.7
%MW1.2
%MB1.6 %MX1.6.0 … %MB1.6.7
8003 32771
%MB1.7 %MX1.7.0 … %MX1.7.7
%MW1.3
%MD1.1
…
%MB0.65532 %MX0.65532.0 …
%MX0.65532.7
FFFE 65534
%MB0.65533 %MX0.65533.0 …
%MX0.65533.7
%MW0.32766
%MB0.65534 %MX0.65534.0 …
%MX0.65534.7
FFFF 65535
%MB0.65535 %MX0.65535.0 …
%MX0.65535.7
%MW0.32767
%MD1.16383
位的 Modbus 地址分配:
Modbus 地址 字节 : 位(源于字节): 字 : 双字:
十六进制 十进制 BYTE BOOL WORD DWORD
段 0
0000 0 %MX0.0.0
0001 1 %MX0.0.1
0002 2 %MX0.0.2
0003 3 %MX0.0.3
0004 4 %MX0.0.4
0005 5 %MX0.0.5
0006 6 %MX0.0.6
0007 7
%MB0.0
%MX0.0.7
%MW0.0 %MD0.0
www.plcworld.cn
0008 8 %MX1.0.0
0009 9 %MX1.0.1
000A 10 %MX1.0.2
000B 11 %MX1.0.3
000C 12 %MX1.0.4
000D 13 %MX1.0.5
000E 14 %MX1.0.6
000F 15
%MB0.1
%MX1.0.7
0010 16 %MX2.0.0
0011 17 %MX2.0.1
0012 18 %MX2.0.2
0013 19 %MX2.0.3
0014 20 %MX2.0.4
0015 21 %MX2.0.5
0016 22 %MX2.0.6
0017 23
%MB0.2
%MX2.0.7
0018 24 %MX3.0.0
0019 25 %MX3.0.1
001A 26 %MX3.0.2
001B 27 %MX3.0.3
001C 28 %MX3.0.4
001D 29 %MX3.0.5
001E 30 %MX3.0.6
001F 31
%MB0.3
%MX3.0.7
%MW0.1
0020 32 %MX4.0.0
0021 33 %MX4.0.1
0022 34
%MB0.4
%MX4.0.2
%MW0.1 %MD0.1
…
0FFF 4095 %MB0.511 %MX0.511.7 %MW0.255 %MD0.127
1000 4096 %MB0.512 %MX0.512.0 %MW0.256 %MD0.128
…
7FFF 32767 %MB0.4095.7 %MX0.4095.7 %MW0.2047 %MD0.1023
8000 32768 %MB0.4096.0 %MX0.4096.0 %MW0.2048 %MD0.1024
…
FFFF 65535 %MB0.8191.7 %MX0.4095.7 %MW0.4095 %MD0.2047
2.1.3 在可编址标志区访问操作数:
在%M 区域的操作数可以通过位(Bit)、字节(Byte)、字(Word)和双字(Double Word)的方式
访问。
字节 :BYTE 位(源于字节):BOOL 字 :INT / WORD 双字: DINT / DWORD
段 0
www.plcworld.cn
%MB0.0 %MX0.0.0 … %MB0.0.7
%MB0.1 %MX0.1.0 … %MB0.1.7
%MW0.0
%MB0.2 %MX0.2.0 … %MB0.2.7
%MB0.3 %MX0.3.0 … %MB0.3.7
%MW0.1
%MD0.0
…
%MB0.65532 %MX0.65532.0 … %MB0.65532.7
%MB0.65533 %MX0.65533.0 … %MB0.65533.7
%MW0.32766
%MB0.65534 %MX0.65534.0 … %MB0.65534.7
%MB0.65535 %MX0.65535.0 … %MB0.65535.7
%MW0.32767
%MD0.16383
段 1
%MB1.0 %MX1.0.0 … %MB1.0.7
%MB1.1 %MX1.1.0 … %MB1.1.7
%MW1.0
%MB1.2 %MX1.2.0 … %MB1.2.7
%MB1.3 %MX1.3.0 … %MB1.3.7
%MW1.1
%MD1.0
…
%MB1.65532 %MX1.65532.0 … %MB1.65532.7
%MB1.65533 %MX1.65533.0 … %MB1.65533.7
%MW1.32766
%MB1.65534 %MX1.65534.0 … %MB1.65534.7
%MB1.65535 %MX1.65535.0 … %MB1.65535.7
%MW1.32767
%MD1.16383
段 2
%MB2.0 %MX2.0.0 … %MB2.0.7
%MB2.1 %MX2.1.0 … %MB2.1.7
%MW2.0
%MB2.2 %MX2.2.0 … %MB2.2.7
%MB2.3 %MX2.3.0 … %MB2.3.7
%MW2.1
%MD2.0
…
%MB2.65532 %MX2.65532.0 … %MB2.65532.7
%MB2.65533 %MX2.65533.0 … %MB2.65533.7
%MW2.32766
%MB2.65534 %MX2.65534.0 … %MB2.65534.7
%MB2.65535 %MX2.65535.0 … %MB2.65535.7
%MW2.32767
%MD2.16383
….
段 7
%MB7.0 %MX7.0.0 … %MB7.0.7
%MB7.1 %MX7.1.0 … %MB7.1.7
%MW7.0
%MB7.2 %MX7.2.0 … %MB7.2.7
%MB7.3 %MX7.3.0 … %MB7.3.7
%MW7.1
%MD7.0
…
%MB7.65532 %MX7.65532.0 … %MB7.65532.7
%MB7.65533 %MX7.65533.0 … %MB7.65533.7
%MW7.32766
%MB7.65534 %MX7.65534.0 … %MB7.65534.7
%MB7.65535 %MX7.65535.0 … %MB7.65535.7
%MW7.32767
%MD7.16383
End
www.plcworld.cn
2.2 操作数的绝对地址
2.2.1 地址操作数 ADR
对于特定的模块或者在通过指针访问操作数的情况下,必须确定操作数的绝对指针地址。为
实现此功能,在控制编辑器中提供了地址操作数功能 ADR。
地址操作时 ADR 功能在控制编辑器(PS501 编程软件)的相关文档中有详细描述。
在此我们介绍的内容只局限于位操作数。
由地址操作数提供的地址可以用于功能块的输入,这些块需要绝对地址:(如:
XXX_MOD_MAST_,COM_SND).如果需要这些功能块应用到整型变量的情况下,必须确
保变量被成功设定到后续地址。这种情况发生在变量申明:ARRAY 和 STRING 。
地址操作数 ADR 提供了在一个双字 DWORD(32 位)操作数的地址。地址操作数返回变量
(字节地址) 第一个字节的地址。对于用户自定义的变量及 BOOL 类型的变量地址以字节的
方式存储。
2.2.2 位的地址操作 BITADR :
在输入,输出和寻址标志区(%M 区),BOOL 类型操作数仅占用一位。此类变量寻址不能
用 ADR 来实现。在编译系列语句时
D waddress := ADR(%MX0.0.0)
将显示下列错误信息:
BITADR 在区域%I ,%Q 或作为 DWORD 的%M 返回位偏移量。
下表显示了在存储器(以%MD0.0 和%MD0.1 为例)中操作数的位置。从中你可以获取
ADR 操作返回的地址和 BITADR 函数返回的偏移量。
Error 4031 : PLC_PRG(XX): ADR is not allowed on bits ! Use ‘BITADR’ instead
注释:地址显示的是示例的地址,可能会有其它值。
www.plcworld.cn
End
www.plcworld.cn