SP244卡应用汇编.docx
- 文档编号:8545356
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:107
- 大小:192.06KB
SP244卡应用汇编.docx
《SP244卡应用汇编.docx》由会员分享,可在线阅读,更多相关《SP244卡应用汇编.docx(107页珍藏版)》请在冰豆网上搜索。
SP244卡应用汇编
目录
第一章SP244卡简介3
一、概述3
二、SP244卡的性能指标3
2.1供电:
3
2.2接线:
3
2.3通讯端口的参数和规范4
三、SP244卡的性能简介5
3.1SP244与SCnetⅡ网络接口5
3.2智能设备的信息采样周期6
3.3通讯协议6
3.4单块SP244卡可联接设备数量6
第二章SP244卡的应用情况7
SP244卡应用常识8
SP244卡协议选择8
自定义协议9
刷新周期计算9
SP244卡的组态10
第三章实施案例11
一、Modbus-RTU协议11
项目一11
二、HostLink-ASCII14
项目二14
三、自定义:
用户通讯协议开放(波特率≤19200bps)23
3.1项目三23
3.2项目四38
3.3项目五50
第四章应用前景52
附录53
附录一:
53
金山石化中试装置项目53
附录二:
59
Modbus协议参考指南:
59
第一章Modbus协议简介59
第二章Modbus功能码格式64
附录三77
三菱PLC通讯库函数说明77
第一章SP244卡简介
一、概述
网关卡SP244是通信接口单元的核心,是SCnetⅡ网络节点之一。
在SCnetⅡ中SP244处于与SP243X同等的地位。
它解决了JX-300X系统与其他厂家智能设备的互联问题。
其作用是将用户智能系统的数据通过通讯的方式联入JX-300X系统中,通过SCnetII网络实现数据在JX-300X系统中的共享。
二、SP244卡的性能指标
2.1供电:
·SP244卡的供电方式:
安装在机笼任意I/O槽位内,机笼母板供电。
·+5V:
<400mA
·+24V:
<80mA
2.2接线:
SP244卡件可以安装在系统机笼内I/O卡件的任意槽位内(占用两个I/O槽位),接线端子如图所示:
通信口(RS232):
RXD(F)-接收脚,TXD(E)-发送脚,GND(C、D)-接地脚;
连线方法:
SP244卡的送脚对第三方设备的RS232口的接收脚,SP244卡的接收脚对第三方设备RS232口的发送脚,地对地连接。
图SP244卡件RS232通信口接线示意图
注:
目前,SP244卡仅提供一个RS232口。
2.3通讯端口的参数和规范
A.RS-232C接口规范:
连接方式:
点对点
同步方式:
起—停方式
数据格式:
1位起始位,1位停止位,7/8位数据
奇偶校验:
无校验/奇校验/偶校验/set校验/clr校验
波特率:
1200/2400/4800/9600/19200bps
端口数:
1个
连接电缆:
3芯通讯电缆
B.RS-485接口规范:
SP244卡仅有一个RS232接口,当与其相联的智能设备是RS485电气标准时,RS-485通讯接口必须通过RS232/RS485转换模块对SP244的RS232端口进行电平转换。
(选择转换模块时,注意是24V外供电型的,如ADAM模块)
当用SP244卡连接多台具有RS232接口的智能仪表,则必须注意以下几点:
1、每台智能仪表可以设置独立的通讯地址;
2、与智能仪表连接的通讯协议必须具有地址识别功能;
3、由于RS232只能实现点对点的通讯,因此必须为每台智能仪表配置RS232/RS485转换模块,将仪表的RS232转化为RS485,同时也为SP244卡准备RS232/RS485转换模块,然后以RS485总线结构的方式连接多台智能仪表。
”
n≤4
图SP244卡通信接口示意图
三、SP244卡的性能简介
3.1SP244与SCnetⅡ网络接口
SP244卡与SP243卡一样,具有两个互为冗余的接口与SCnetII网络相连,联接规范和网络地址的设置同SP243X卡,即将SP244卡通过冗余网线连接到JX-300XDCS的HUB上,且它的地址不能与系统中的主控卡冲突。
它在整个JX-300XDCS系统中的作用如图。
图JX-300X网络图
SP244卡只作为读数据用,当需要向智能设备写数据时,应考虑智能设备所能承受的操作响应周期。
3.2智能设备的信息采样周期
SP244通信周期(智能设备的循环采样的周期)与它所联接的智能设备数量、通信波特率、通信数据量、智能设备的工作特性、通信协议等都密切相关。
如果在现场使用中,发现通信周期太长而导致操作站上对应变量的显示刷新周期很长,可通过增加SP244的数量来分担与智能设备的通信工作量。
3.3通讯协议
SP244卡的通讯驱动程序可以通过SCX语言编写实现,由组态软件编译后下载到SP244卡中运行。
SCX语言提供了使用方便的串行通讯库函数,Modbus协议库函数,HostLink协议库函数。
SP244卡已实现通讯的协议如下:
Modbus-RTU(二进制)
HostLink-ASCII(二进制)
MitsubishiFX2系列
自定义:
用户通讯协议开放,波特率≤19200bps
实现与符合上述协议的智能设备,用户只需要直接调用SCX语言内相关的库函数即可。
3.4单块SP244卡可联接设备数量
最多可配置4台智能设备
1、与用户可接受的响应时间有关:
要求响应时间越快,则所带智能设备数量越少。
2、与联接的设备的通讯速度有关:
通讯速度越低,带的设备越少
3、与通讯量有关:
通讯量越大,带的设备越少
第二章SP244卡的应用情况
随着JX-300XDCS产品的日趋成熟,SP244网关卡的应用也更加广泛,到目前为止已在20多个项目中用到网关卡,与其连接的设备类型、数量和运行情况大致如下:
1、云南铜业股份有限公司III、IV系列硫酸技改项目
使用SP244卡将北京德威特公司和福建龙净公司的智能系统联入JX-300X系。
为Modbus-RTU协议,波特率9600bps。
2、乌鲁木齐新奥科技开发有限责任公司新疆克拉玛依百重七井区稠油污水处理装置
使用SP244卡将三菱的PLC一套、华光的PLC一套、以及单片机系统一套连接至我们的系统。
其中,华光的PLC其协议格式已经提供。
采用自定义协议。
3、哈尔滨制药六厂锅炉项目
使用SP244卡将华为的变频器连入我们的控制系统。
采用自定义协议。
4、内蒙古兰太实业股份有限公司10000吨/年金属钠项目
使用SP244卡将西门子的S7PLC连入我们的控制系统。
5、山西太钢集团临汾钢铁有限公司焦化厂自控系统
使用SP244卡将一台电子称、一个红外线测温仪连入我们的系统。
采用自定义协议。
6、上海高桥石化丙烯酸厂项目
使用SP244卡将OMRONPLC连入我们的系统。
采用HostLink协议。
7、常州化工厂1万吨/年离子膜烧碱项目
使用SP244卡将两台OMRONCH200PLC连入我们的系统。
采用HostLink协议。
8、广州白云粘胶厂硅酮胶项目
使用SP244卡将OMRONPLC连入我们的系统。
采用HostLink协议。
9、华油永丰小区集中供热工程锅炉29*2MW循环流化床锅炉项目
使用2块SP244卡,每块SP244卡分别带25个浙江天信的智能电机控制器。
采用自定义协议。
10、锦化化工(集团)有限责任公司5万吨/年粒碱项目
使用SP244卡将一套国外的PLC(随生产设备一起进口)连入我们的控制系统。
11、中石化清江石化有限责任公司20万吨/年溶剂油加氢项目
使用SP244卡,连接的设备符合Modbus协议。
采用Modbus协议。
12、安徽淮化集团有限公司450t/d硝酸改扩建工程
使用SP244卡将西门子S7300PLC的通讯模块连入我们的系统。
此项目中SP244卡是四合一机组的联锁与程序控制的联络通道,通讯的数据为相应的联锁开关量点。
采用Modbus协议。
13、镇海炼化物资装备公司道路沥青装置
使用SP244卡将新加坡的TANKReader和Atalas空压机连入我们的系统。
采用Modbus协议。
14、镇海炼油化工股份有限公司三空分、聚丙烯装置
使用SP244卡完成与QUARD2000空压机控制器的通讯。
采用主从方式,MODBUS协议。
15、岳阳石化总厂化纤厂15000t/a及1000t/a己内酰胺聚合项目
使用SP244卡将西门子S7300PLC连入我们的系统(提供模块)。
采用Modbus协议。
16、星辰化工新材料股份有限公司江西星火有机硅项目
使用SP244卡将一台长沙华能汽机保护仪连入我们的系统。
采用Modbus协议。
17、合肥三立自动化工程有限公司巢东水泥项目
使用SP244卡将三套西门子S7200PLC连入我们的系统。
采用自定义协议。
18、中国人民解放军61699部队1000吨甲基锡项目
使用SP244卡将一台上海衡器总厂的XXK3190-A1称重仪连入我们的系统。
采用自定义协议。
19、中石化南化集团连云港碱厂重碱工艺控制改造项目
使用四块SP244卡分别将四台富士(FUJI)变频器,和四台浙江天信的电机智能保护器连入我们的系统。
采用自定义协议。
SP244卡应用常识
SP244卡协议选择
Modbus协议和HostLink协议
对采用这两种协议的设备,SP244卡可以方便的与之连接。
注意:
这里提到的Modbus协议是指普通的Modbus协议,或者叫ModbusSlave协议;不能是ModbusPlus协议。
自定义协议
若要采用自定义协议进行通讯时,此协议必须符合以下条件:
1、主从关系:
必须采用SP244卡主动发送,对方设备响应的方式。
2、命令格式开放:
有关SP244卡该发送哪些字节,对方设备又会发送哪些字节都必须有详细描述;每条通讯命令都必须有具体的命令格式。
3、数据格式开放:
每条命令中数据字节及其含义都必须有详细的描述;收到通讯命令后,为了将传送的数据从命令中提取出来,必须要有具体的数据格式。
4、波特率≤19200bps
相对来说,采用自定义协议,编程人员的工作量要大一些。
刷新周期计算
举例如下:
假设有一个系统,用一块SP244卡与4台PLC通讯,采用Modbus协议,通讯设置为波特率9600bit/s,8位数据位,无校验。
每台PLC都有1000个开关量要读,而且这1000个开关量的地址是连续的。
因为SP244卡的每一条命令,发送和接送的最大字节数都为200个。
200个字节扣除头尾一般有190个字节可以用来存放数据。
一般2个字节存放一个模拟量,而一个字节可以存放8个开关量。
这里我们用Modbus协议中的readcoil命令读开关量,一条命令就可以将一台PLC的1000个开关量全读上来,命令的收发过程为SP244发送8个字节,PLC返回130个字节。
每个字节(一个字节8位数据位、默认1位起始位和1位停止位,共10位;如果不是无校验,加上校验字节共11位)耗时10÷9600秒,大约是1毫秒。
这样一条命令从发送开始到收完需要140毫秒,如果PLC本身有一个响应时间20毫秒,那么整个过程共耗时160毫秒。
4台PLC共4条命令,最少也要640毫秒才能完成。
在这里SP244卡要么采用500毫秒的周期,每个周期读2台PLC;要么采用1秒的周期,每个周期读4台PLC(每个周期里连续的通讯命令之间还必须有10到50毫秒的切换时间)。
所有数据的刷新时间为1秒钟。
SP244卡的组态
由于在目前的组态软件中还未将SP244卡添加进去,无法通过常规的方法对SP244进行组态,故我们需在这里为大家专门介绍一下SP244卡的组态方法。
打开组态软件后,将SP244卡按主控卡进行组态,其地址设为它的实际地址。
再根据与该SP244卡联接设备的数量在组态中增加数据转发卡(联接多少台外部设备就增加多少块SP233,联接的外部设备与SP233卡一一对应),地址分别设为0#、2#、4#……然后观察SP244卡的FAIL灯状况,若FAIL灯亮表示有故障,FAIL灯暗则表示正常。
对于从其它设备读取的数据位号将其在组态中组成自定义模拟信号,其它操作与一般模拟信号相同。
保存,编译后,再运行监控软件,就能在监控中看到所组的位号的值。
SP244与对象通信工作情况判断:
可通过观察Advantrol诊断画面中0#、1#机笼(分别对应0#、2#数据转发卡SP233)的通信状况指示情况来判断,0#SP233(0#机笼)指示“绿色”表示SP244卡与其他设备通信工作正常,而指示“红色”表示SP244卡与其他设备通信工作不正常;2#SP233的判断方法如0#SP233。
第三章实施案例
一、Modbus-RTU协议
项目一
背景:
通信协议Modbus,波特率4800bit/s,数据格式为8位数据位,无校验。
下位机为新加坡TANKReader,地址201,要读13个罐的液位和温度值,每个罐的温度包括3个点温度值和一个平均温度。
用的是readholdingreg命令,分5次读共65个位号。
硬件配置:
1块SP244卡
SCNetII
互联方案:
直接连接在RS232口上,其拓扑结构如下:
SP244
RS-232口
PLC
SCX语言程序如下:
intphase;//加上相位,使SCX语言程序在一个周期内只执行一条readholdingreg
interror;//语句,出错后还要停两个周期不做收发,一般一个周期内只能连
main()//续执行三条收发语句,建议一个周期内只执行一条,周期可改。
{
inti;
inta[26];
longaa[13];
sfloatlev[13];
floatf;
longl,m,n;
if((phase<0)OR(phase>4))
{
phase=0;
}
_TAG("add")=_TAG("add")+1;//检验SCX语言程序是否在运行
setcomm(4800,0);
if(phase==0ANDerror==0)/////////
{
setdelaytime(300);
_TAG("return0")=readholdingreg(201,4304,26,a);//读液位,
if(_TAG("return0")==0)//2个寄存器存放一个液位,34304为
{//起始寄存器的地址
for(i=0;i<13;i=i+1)
{
l=0;
m=setint(l,a[2*i],1);
n=setint(l,a[2*i+1],0);
aa[i]=m+n;
l=aa[i];
f=ltof(l);
f=f*0.0001;//单位由0.1mm变为1m
f=f*0.091;//0~11—0~1线性平移量程变为(0~11米)
lev[i]=ftosf(f);//液位用sfloat位号组态
}
_TAG("level1")=lev[0];
。
。
。
//此处省略11条赋值语句
_TAG("level13")=lev[12];
}
else
{
error=2;
}
}
if(phase==1ANDerror==0)
{
setdelaytime(300);
_TAG("return3")=readholdingreg(201,5008,13,a);//读温度3,
if(_TAG("return3")==0)//一个寄存器存放一个温度
{
for(i=0;i<13;i=i+1)
{
f=itof(a[i]);
f=f*0.1;
f=f*0.00286+0.143;//温度量程(-50~300℃)
lev[i]=ftosf(f);
}
_TAG("temp103")=lev[0];
。
。
。
//此处省略11条赋值语句
_TAG("temp4203")=lev[12];
}
else
{
error=2;
}
}
if(phase==2ANDerror==0)
{
setdelaytime(300);
_TAG("return2")=readholdingreg(201,5040,13,a);//读温度2,
if(_TAG("return2")==0)
{
for(i=0;i<13;i=i+1)
{
f=itof(a[i]);
f=f*0.1;
f=f*0.00286+0.143;
lev[i]=ftosf(f);
}
_TAG("temp102")=lev[0];
。
。
。
//此处省略11条赋值语句
_TAG("temp4202")=lev[12];
}
else
{
error=2;
}
}
if(phase==3ANDerror==0)
{
setdelaytime(300);
_TAG("return1")=readholdingreg(201,5072,13,a);//读温度1,
if(_TAG("return1")==0)
{
for(i=0;i<13;i=i+1)
{
f=itof(a[i]);
f=f*0.1;
f=f*0.00286+0.143;
lev[i]=ftosf(f);
}
_TAG("temp101")=lev[0];
。
。
。
//此处省略11条赋值语句
_TAG("temp4201")=lev[12];
}
else
{
error=2;
}
}
if(phase==4ANDerror==0)
{
setdelaytime(300);
_TAG("return4")=readholdingreg(201,5200,13,a);//读温度,
if(_TAG("return4")==0)//平均值
{
for(i=0;i<13;i=i+1)
{
f=itof(a[i]);
f=f*0.1;
f=f*0.00286+0.143;
lev[i]=ftosf(f);
}
_TAG("tempavg01")=lev[0];
。
。
。
//此处省略11条赋值语句
_TAG("tempavg42")=lev[12];
}
else
{
error=2;
}
}
phase=phase+1;
if(error<0ORerror>2)
{
error=0;
}
if(error>0)
{
error=error-1;
}
}
二、HostLink-ASCII
项目二
背景:
通讯协议HostLink,波特率19200bps,数据格式为1个起始位,8个数据位,1个停止位,偶校验。
OMRONPLC将需要传递给DCS的数据存放在DM区,具体存放规定如下:
DM区地址
存放的数据
备注
2000~2019
模拟量输入
共20个字,每个字表示一个模拟量,0~4096表示4~20Ma的信号
2050~2053
开关量输入
每位存放一个开关量
2060~2064
开关量输出
每位存放一个开关量
2100~2139
SOE事件存储
每个SOE记录由两个字构成:
第一个字高8位为事件发生时间“分”,低8位为发生时间“秒”,第二个字高10位为事件发生时间“毫秒”,低6位为事件发生事件“SOE点位号”,
2140
SOE事件读取标志位
当有SOE事件产生时,PLC将该字写为FFFF,DCS读完其中数据后,将该位写为0000
由PLC负责将SOE事件处理,并记录SOE实时点;DCS采集PLC的SOE数据,负责SOE事件的显示和记录。
硬件配置:
1块SP244(现场有一台OMRONPLC)
互联方案:
直接连接在RS232口上,采用点对点的方式连接。
其拓扑结构如下:
SCX语言程序如下:
intAIbuf[43];
intDIbuf[6];//DI及DO数据合在一起
//intDObuf[5];
intSOEbuf[41];
//intSOEreset[2];
inthh[30];
intsend[3];
intoldsoe40;
//***********************************
voidPLCTONGXUN()//PLC通讯程序
{
inti;
intj;
intk;
intTemp;
sfloatshuju;
longTemplong;
longtemplong1,templong2,templong3,templong4,templong5,
templong6,templong8;
send[0]=0;
send[1]=0;
_TAG("ComCount")=_TAG("ComCount")+1;
setcomm(9600,5);//设置波特率为9600,8位数据位,偶校验
if(_TAG("ComCount")>10)
{
_TAG("ComCount")=0;
}
//**************************************************模拟量前30个数据的读取
if((_TAG("ComCount")==0)OR(_TAG("ComCount")==1))//读模拟量,连续读两次
{
setdelaytime(300);//延时300MS
Temp=readdata(0,2000,30,AIbuf);
//0为下位机地址,2000为下位机首个数据的地址位,30为读取数据个数,数据缓存到AIBUF[30]中
if(Temp==-1)//通讯失败
{
Temp=5;
}
_TAG("AIComErr")=Temp;
}
if(_TAG("ComCount")==2)
{
if(_TAG("AIComErr")==0)//通讯正常时,将AIBUF[I]中的数据写入自定义数据中。
{
for(i=0;i<30;i=i+1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SP244 应用 汇编
![提示](https://static.bdocx.com/images/bang_tan.gif)