您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页正文

SMPT-1000外控通讯方式配置说明 .doc

来源:化拓教育网


SMPT PorfibusAgent使用说明

模拟量IO配置文档.

OPC通讯方式配置说明

VB通讯方式配置说明

SMPT ProfibusAgent使用说明

ProfibusDP Agent是由北京化工大学安全科学与监控工程中心设计,用于先进化工实训装置----高级多功能过程控制实训系统(SMPT-1000)的Profibus从站通讯和监视软件。

一、系统要求

操作系统:Windows XP 串行端口:1个(COM1)

二、硬件设置

Profibus-DP从站通讯模块使用的是泗博PM-125,如图1中所示。

图1 PM-125模块

要对其在Profibus总线上的地址进行设置,用螺丝刀拧掉两侧螺丝,打开上盖,即可看到内部的地址拨盘,对其进行设置即可,一般选择设置为7。该模块有四个指示灯,分别为PBF\\STA\\TX\\RX。指示灯状态及含义如下表1所示。

表1 PM-125指示灯状态及含义

指示灯

状态

含义

绿灯闪烁 ProfiBus-DP总线上有数据通讯

STA

绿灯灭

无数据通讯

红灯常亮 ProfiBus-DP总线数据通讯失败

PBF

红灯灭 绿灯闪烁

RX

绿灯灭 绿灯闪烁

TX

绿灯灭

串口无发送数据

串口无接收数据 串口发送有数据 数据通讯正常 串口接收有数据

三、软件设置

1. 嵌入式系统部分

ProfibusDP Agent主要有三个功能,通讯连接情况诊断、数据实时监视、数据接收和发送。操作界面主要有两个,主界面如图2所示,串口配置界面如图3所示。

图2 ProfibusDP Agent主界面

主界面中,绿色的指示灯,表示与硬件设备及SMPTLab的连接状态。如果所有设备都连接正常,那么指示灯变为绿色,只要有一个设备连接异常,就会显示为红灯。点击该指示灯,就会看到各个设备当前的连接状态。

绿色指示灯右边的按钮,表征的是当前软件的运行状态,点击可以操作运行和停止。紫色表示程序正在运行,灰色表示程序已停止。

实时数据显示栏显示的是通过Profibus总线传递的数据值。分为To PLC by Profibus (PV)和From PLC by Profibus (MV)两种,点击不同的按钮显示不同的值。

左下角的“发送字节数”在PLC/DCS上进行通讯配置的时候会用到。 右下角的“配置”按钮,是用来对使用的串口进行配置,包括串口号、波特率等。点击该按钮,将打开如图3所示的串口配置界面。

图3 串口配置界面

泗博PM-125模块使用串口COM1进行通讯,波特率为19200。

ProfibusDP Agent程序启动后,图标会自动显示在桌面右下角的任务栏里,如图4所示。双击该图标,即可打开主界面,如图2所示。

图4 系统托盘显示

2. 西门子PCS7 上进行的通讯组态部分

由于该通讯软件在实现上依赖于泗博PM-125模块,所以在西门子PCS7端也需要对该Profibus-DP从站模块PM-125进行相应的软硬件配置。具体说明如下。在所有常规硬件组态完毕后进行如下操作:

(1)安装PM-125对应的GSD文件。在HW Config页面下点击Options菜单 → Install GSD File → Browse找到PM-125的GSD文件,名为PM125V20.gsd,

点击Install按钮安装即可。

(2)添加PM-125模块到硬件组态画面中。在Catalog中选择Profile: Standard。下面出现树状菜单,依次打开PROFIBUS DP → Additional Field Devices → General → CONVERTER → PM125,拖动该组件到PROFIBUS(1): DP master system(1)上。弹出组件配置窗口, Address(地址)设置为7(与之前拨盘选择保持一致),点击OK。

(3)添加AI\\AO DI\\DO,并设定它们的起始地址。

点击(7) PM-125组件,在详细信息配置窗口表格第1行任意位置单击,在Catalog的PM125中选择Universal module并双击,该模块将自动添加到PM125详细信息配置窗口的第1行。从菜单中选择Edit → Object Properties…,将打开Properties – DP Slave对话框。在I/O Type中选择Input,在随后出现的Input组中,将Start Address设置为0,Length设置为2,Unit设置为Byte。

在PM125组件详细信息配置窗口的第2行添加Universal module,打开其Properties – DP Slave话框。在I/O Type中选择Input,在随后出现的Input组中,将Start Address设置为512,Length设置为27,Unit设置为Words。

在PM125组件详细信息配置窗口的第3行添加Universal module,打开其Properties – DP Slave话框。在I/O Type中选择Output,在随后出现的Output组中,将Start Address设置为0,Length设置为4,Unit设置为Byte。

在PM125组件详细信息配置窗口的第4行添加Universal module,打开其Properties – DP Slave对话框。在I/O Type中选择Output,在随后出现的Output组中,将Start Address设置为512,Length设置为14,Unit设置为Word。

(4)定义发送字节数和发送命令字

定义发送字节数存储在输出模组的第二个字节中。输出模组首地址被设置为0,则要存储的地址为QB1;发送字节数在图2程序界面左下方有显示。

实现方法举例如下:在Component View中找到Blocks,右键在空白处单击,在弹出菜单中选择Insert New Object → Variable Table,命名为Observer。在第一行添加QB 1,Modify value修改为B#16#1E,即十进制30。 (用户也可用SCL语言实现或其他方法实现,只要将QB 1处值置为30即可。)

使输出模组首字节的第一位数据0→1→0→1变化。其值变化一次,则会发送一批数据到PM-125模块。需要变化的位为Q0.0。

实现方法举例如下:输入模组第一个字节中存放了接收计数,则输入模组第一个字节IB0的最低位I0.0对应的值是0→1变化的。可以在进入CFC画面,添加一个DI模块,一个DO模块,DI的输出连接到DO的输入端。DI的输入取地址I 0.0,DO的输出取地址Q 0.0。

注1:CFC编程时,还要设置DI\\DO AI\\AO模块mode值为16#80010203才能正常工作,须注意。

注2:关于以上第(4)个步骤的SCL实现方法详见附录1。

四、常见问题及解答

Q:为什么程序启动后PBF灯为红色? A:一般情况下为COM1未能正常开启。

解决方法:查看COM1是否连接有232/485模块;查看是否已经启动了一个ProfibusDP Agent从而将COM1占用了;查看是否有其它程序占用了COM1。关闭这些程序即可。

Q:为什么下装程序后泗博模块的STA灯依然不亮,PBF灯为红色? A:DCS和PM-125之间未能建立连接。 解决方法:

查看泗博模块地址是否设置为7;查看PCS7硬件组态中PM-125模块的地址是否设置为7;检查DCS是否下载硬件配置;查看Profibus线是否正常,可以换一根线试试。

Q:为什么连接建立后DCS端不能接收到数据?

A:若ProfibusDP Agent的诊断灯为绿色,并且泗博模块的TX灯为绿色闪烁,则连接正常。若不能接收数据则应该为PCS7编程中出现问题。 解决方法:

查看通讯组态中第三步的I/O通道设置时,起始地址选择和程序中用到的地址是否匹配。

Q:为什么DCS能接收到数据,但是ProfibusDP Agent不能接收到DCS发送的数据?

A:应该是没有正确设置发送字节数或者没有正确修改发送命令字。观察泗博模块的RX灯,若RX灯不亮,说明没有正确设置发送字节数和发送命令字。 解决方法:

请认真阅读上文软件设置中的第(4)步骤。

另外,如果CFC中输出的地址有重复,比如有两处输出到QW512,则ProfibusDP Agent里该地址收到的数据会出现错误。

Q:为什么DCS和ProfibusDP Agent的数据不能互相对应? A:很可能的原因是波特率设置不一致。 解决方法:

将DCS硬件组态窗口中PM-125模块的波特率、ProfibusDP Agent串口配置窗口中的波特率和PC自身的串口配置串口中的波特率设置为统一值。

附录1 利用SCL语言完成Profibus-DP通讯组态

第一步:在Component View → S7 Program → Sources里,添加一个SCL Source文件。比如,取名为COMM。

图1 建立SCL Source文件

第二步:打开该SCL文件,将通讯代码添加到里面去,编译,保存即可。(详细代码请见附录2。)

第三步:此时,切换到CFC中去,在左侧block标签里,找到S7 Program项,在其中找到我们刚添加的SCL块的名称。比如,FB2046。用鼠标将其拖到右边的CFC中。

第四步:最后将CFC编译,下载。设置生效。

图2 将该SCL块添加到CFC中

附录2 通讯SCL代码

FUNCTION_BLOCK FB888

// Instruction Section Q1.0 := 0; Q1.1 := 1; Q1.2 := 1; Q1.3 := 1; Q1.4 := 1; Q1.5 := 0; Q1.6 := 0; Q1.7 := 0;

Q0.0 := I0.0;

END_FUNCTION_BLOCK

SMPT模拟量IO配置文档

一、SMPT软件配置:

第一步:定义IO数据的上下限

由于SMPT模拟量输入输出接口均采用4-20mA电流信号,因此首先要将输入输出数据的上下限进行合理的定义。信号的上限对应于20mA,而下限对应4mA。

注意:由于物理模块采用的是12位的精度,即用12个BIT来进行模数转换。因此,输入输出数据的上下限应尽可能与当前实验工程里的仪表测量范围一致。以液位为例。LI1101正常情况下的仪表量程为0-100%,因此正确的做法是将它的上下限设为0-100,代表下限0对应4mA,而上限100对应20mA。如果将LI1101的上下限设得过宽,比如0-200。那么,由于液位实际值是不可能超过100,所以100-200这段范围实际上永远不可能用到的。而这样的设置导致下限0对应4mA,而上限200对应20mA,使得电流信号中12-20mA范围内的信号永远不可能用。换句话讲,相当于只用了4-20mA的一半量程在进行信号转换,导致的结果是浪费了有用量程,使得数据转换精度下降。反之,如果将上下限设得过窄,那么当实际数据一旦超过上限或下限,则电流信号仍以20mA或4mA输出。那么有效数据就不能正确的转换。因此,正确的作法是预估该数据在实验过程中可能波动的范围,以该范围作为上下限来设置。

具体设置过程如下:

1、在工具栏里点击“点定义”按钮,弹出点定义配置对话框,如图1所示。

2、在点定义对话框中,双击表格中相应的单元格,修改要输出的模拟量数据的上下限。此处PV与MV均以外部控制器的角度来称呼,PV是控制器的输入值(对应SMPT的模拟量输出AO),MV是控制器的输出值(对应SMPT的模拟量输入AI)。

图1

由于MV数据对应了控制器输出,执行机构为调节阀或开关,因此上下限缺省为0-100%,不必进行修改。

注意:对SMPT的模拟量输入或输出的上下限进行设定,同时也必须要对外部PLC等控制器中相应的数据上下限做相同的设置。否则,收发的数据将发生错误。

第二步 指定SMPT输入输出哪些数据? 1、点击工具栏上的IO按钮,

2、在弹出的对话框里,分别选择当前实验要使用的执行机构和变送器分别对应的模拟量输入输出通道。

如图2a/b所示,可以在位号一栏中,用鼠标点击下拉框,在弹出的位号列表中进行选择。端子号的命名请参考下一节。

图2a

图2b

左边表格中定义要接受外部控制器模拟量输出信号的执行机构(阀、档板等)。右边表格中定义变送器对应的是哪些过程变量的值。

二、端子排接线:

在SMPT-1000设备的左侧,安装有可供模拟量与数字量输入输出的端子排。如图3所示。

图3

图中,绿色的即为端子排,从左往右,依次标记为X1~X7。每个端子排有16位通道,每两个通道是一路信号。其中,X1接PLC的模拟量输出模块;X2、X3接PLC的模拟量输入模块;X4、X5接PLC的数字量输入模块;X6、X7接PLC的数字量输出模块。

另外,需要说明的是,现场测量变送器的输入信号可以选用电压方式或电流方式,具体地是模块在出厂时就设置好了。因此,在与X2,X3接线前,首先要确认该信号采用的是哪种方式。若是电流方式,请与X2、X3两端子排上部4路连接;若是电压方式,请与X2、X3下部的4路连接。详细的通道定义,如图4所示。

图4

三、外部控制器配置注意事项(以西门子ET200M为例)

1、SMPT模拟量输入输出均采用两线制,因此需要注意DCS/PLC端IO模块的接线方法。具体请参考该IO模块的说明书。

2、SMPT端子排输入输出均是无源的,因而对4-20mA的模拟量输入输出接线时,用户需要确认回路中是否已有电源。

3、在SMPT通过端子排输入输出与DCS/PLC通讯时,请检查设备侧面的两个内外控开关是否已拨到外控档位。

以西门子ET200M为例,SMPT-1000与ET200M信号连接的示意图如图5所示,ET200M如图6所示。

图5

图6

SMPT1000OPC通讯方式下 服务端、客户端配置说明

一、服务端(SMPT1000运行的机器)配置说明

系统:WIN XP,请遵循以下步骤进行配置: 1、账户设置

用Administrator用户建立一个拥有管理员权限的用户并设置密码,密码不能为空,如:用户名:SMPTUser 密码:123。用SMPTUser登入。

2、防火墙设置 可做下列2项之一。 (1)关闭windows防火墙。

(2)不关闭防火墙的情况下,需要做如下操作: 1)进入控制面板 → windows防火墙 → 开启防火墙。

2)点击“例外”选项卡,勾选“文件和打印机共享”。

3)点击 “添加端口”按钮,添加 DCOM端口,端口号为135(DCOM通讯使用)。

4)点击“添加程序”按钮,添加OPCENUM,为客户端提供OPC服务浏览的功能。在C:\\Windows\\System32下。

5)点击“添加程序”按钮,添加SMPTOPCServer.exe,为客户端提供OPC通讯的功能。在C:\\ Program Files\\BUCT-SIMU\\下。

3、DCOM相关设置

(1)开始 → 运行 → 输入:dcomcnfg。

(2)在组件服务中,点击“我的电脑” → 属性,编辑默认属性。将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。

(3)点击“COM安全”选项卡,分别编辑如下4个选项:访问权限中:编辑限制、编辑默认值;启动和激活权限:编辑限制、编辑默认值。

(4)以上4个选项分别添加everyone,administratro,anonymous login三个用户,并勾选上所有权限选项。【请注意是三个用户,如果少了一个有可能出现找不到服务器的情况】。

(5)点击MSDTC选项卡,进行如下设置。

(6)回到“组件服务”界面,打开DCOM配置,找到注册的OPC服务器的名称选项(SMPT1000OPCServer),打开它的属性,在常规选项卡中,设置身份验证级别:无。

(7)点击位置选项卡,勾选“在此计算机上运行应用程序”。

(8)点击标识选项卡,设置交互式用户。

4、本地安全策略设置

(1)打开控制面板 → 管理工具 → 本地策略 → 安全选项,选择网络访问:本地账户的共享和安全模式,设置为经典-本地用户以自己的身份验证。

(2)控制面版 → 管理工具 → 本地策略 → 安全选项,找到DCOM : 安全描述符定义语言语法中计算机访问限制 → 属性 → everyone 全打勾;ANONYMOUS LOGON全打勾。

(3)控制面板 → 管理工具 → 本地安全策略 → 本地策略 → 安全选项→ 找到DCOM : 安全描述符定义语言语法中计算机启动限制 → 属性 →everyone 全打勾;ANONYMOUS LOGON全打勾。

5、IP地址设置

客户端与服务端通过直连网线连接。二者IP地址设为同一网段即可。如: 服务端 IP 192.168.0.1 子网掩码:255.255.255.0 客户端 IP 192.168.0.2 子网掩码:255.255.255.0 6、所有设置完成后需重启计算机

二、客户端配置说明:

系统:WIN7、WINXP等,请遵循以下步骤进行配置(以XP为例,WIN7下相同)。

1、账户设置

用Administrator用户建立一个与服务端名称一样,密码一样的账户,拥有管理员权限,如:用户名:SMPTUser 密码:123。用SMPTUser登入。

2、防火墙设置 无

3、DCOM设置

(1)开始 → 运行 → 输入:dcomcnfg。

(2)在组件服务中,点击“我的电脑” → 属性,编辑默认属性。将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。

(3)点击“COM安全”选项卡,分别编辑如下4个选项:访问权限中:编辑限制、编辑默认值;启动和激活权限:编辑限制、编辑默认值。

(4)以上4个选项分别添加everyone,administratro,anonymous login三个用户,并勾选上所有权限选项。

(5)点击MSDTC选项卡,进行如下设置:

4、本地安全策略设置

(1)打开控制面版 → 管理工具 → 本地策略 → 安全选项,选择网络访问:本地账户的共享和安全模式,设置为经典-本地用户以自己的身份验证。

5、IP地址设置

客户端与服务端通过直连网线连接。二者IP地址设为同一网段即可。如: 服务端 IP 192.168.0.1 子网掩码:255.255.255.0 客户端 IP 192.168.0.2 子网掩码:255.255.255.0 6、所有设置完成后需重启计算机

服务端、客户端进行上述设置后,即可在客户端采用OPC方式与服务端的SMPT1000进行通讯了(读取测量值、写入操作值)。

OPC方式中,客户端可以安装任意的OPC客户端程序,即可与SMPT进行通讯。

SMPT1000 VB通讯方式下 服务端、客户端配置说明

一、服务端(SMPT1000运行的机器)配置说明

系统:WIN XP,请遵循以下步骤进行配置: 1、账户设置

用Administrator用户建立一个拥有管理员权限的用户并设置密码,密码不能为空,如:用户名:SMPTUser 密码:123。用SMPTUser登入。

2、防火墙设置 可做下列2项之一。 (1)关闭windows防火墙。

(2)不关闭防火墙的情况下,需要做如下操作: 1)进入控制面板 → windows防火墙 → 开启防火墙。

2)点击“例外”选项卡,勾选“文件和打印机共享”。

3)点击 “添加端口”按钮,添加 DCOM端口,端口号为135(DCOM通讯使用)。

3、DCOM相关设置

(1)开始 → 运行 → 输入:dcomcnfg。

(2)在组件服务中,点击“我的电脑” → 属性,编辑默认属性。将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。

(3)点击“COM安全”选项卡,分别编辑如下4个选项:访问权限中:编辑限制、编辑默认值;启动和激活权限:编辑限制、编辑默认值。

(4)以上4个选项分别添加everyone,administratro,anonymous login三个用户,并勾选上所有权限选项。【请注意是三个用户,如果少了一个有可能出现找不到服务器的情况】。

(5)点击MSDTC选项卡,进行如下设置。

4、本地安全策略设置

(1)打开控制面板 → 管理工具 → 本地策略 → 安全选项,选择网络访问:本地账户的共享和安全模式,设置为经典-本地用户以自己的身份验证。

(2)控制面版 → 管理工具 → 本地策略 → 安全选项,找到DCOM : 安全描述符定义语言语法中计算机访问限制 → 属性 → everyone 全打勾;ANONYMOUS LOGON全打勾。

(3)控制面板 → 管理工具 → 本地安全策略 → 本地策略 → 安全选项→ 找到DCOM : 安全描述符定义语言语法中计算机启动限制 → 属性 →everyone 全打勾;ANONYMOUS LOGON全打勾。

5、IP地址设置

客户端与服务端通过直连网线连接。二者IP地址设为同一网段即可。如: 服务端 IP 192.168.0.1 子网掩码:255.255.255.0 客户端 IP 192.168.0.2 子网掩码:255.255.255.0 6、所有设置完成后需重启计算机

二、客户端配置说明:

系统:WIN7、WINXP等,请遵循以下步骤进行配置(以XP为例,WIN7下相同)。

1、账户设置

用Administrator用户建立一个与服务端名称一样,密码一样的账户,拥有管理员权限,如:用户名:SMPTUser 密码:123。用SMPTUser登入。

2、防火墙设置 无

3、DCOM设置

(1)开始 → 运行 → 输入:dcomcnfg。

(2)在组件服务中,点击“我的电脑” → 属性,编辑默认属性。将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。

(3)点击“COM安全”选项卡,分别编辑如下4个选项:访问权限中:编辑限制、编辑默认值;启动和激活权限:编辑限制、编辑默认值。

(4)以上4个选项分别添加everyone,administratro,anonymous login三个用户,并勾选上所有权限选项。

(5)点击MSDTC选项卡,进行如下设置:

4、本地安全策略设置

(1)打开控制面版 → 管理工具 → 本地策略 → 安全选项,选择网络访问:本地账户的共享和安全模式,设置为经典-本地用户以自己的身份验证。

5、IP地址设置

客户端与服务端通过直连网线连接。二者IP地址设为同一网段即可。如: 服务端 IP 192.168.0.1 子网掩码:255.255.255.0 客户端 IP 192.168.0.2 子网掩码:255.255.255.0 6、所有设置完成后需重启计算机

三、示例

服务端、客户端进行上述设置后,即可在客户端采用VB程序的方式与服务端的SMPT1000进行通讯了(读取测量值、写入操作值)。

在客户端,通过VB程序与SMPT进行通讯的方式如下:

(1)注册代理存根 :regsvr32 SMPT1000RunTimePS.dll 注册服务:SMPT1000RunTime.exe /regserver。

(2)通过VB建立一个基本的工程,新建一个Form,添加2个按钮,2个文本框。

(3)添加引用

(4)声明参数

Private WithEvents IO As SMPT1000RunTimeLib.IOModule (5)编辑Form加载、卸载函数 Private Sub Form_Load()

Set IO = CreateObject(\"SMPT1000Runtime.IOModule\End Sub

Private Sub Form_Unload(Cancel As Integer)

Set IO = Nothing End Sub

其中“192.168.0.2”为服务端IP地址。

(6)编辑按钮响应事件: Private Sub cmdSetOP_Click ()

IO.SetOP FV1106, Val(txtOP) End Sub

Private Sub cmdGetPV_Click ()

txtPV = IO.GetPV (LI1101) End Sub

点击GetPV按钮即可获得LI1101的数值,点击SetOP按钮即可设置FV1106的开度。

因篇幅问题不能全部显示,请点此查看更多更全内容