欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    浙大中控DCS培训教程-站间通讯.ppt

    • 资源ID:5364510       资源大小:309.49KB        全文页数:33页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    浙大中控DCS培训教程-站间通讯.ppt

    控制方案的设计,高级组态维护培训班,一、编程小案例,两种方法的比较:组态中实现:精度高程序中实现:灵活,控制站间的数据交换,控制站间的数据交换,对于一个较大的系统,往往无法做到将程序需要调用的位号集中在一个控制站中。这里,就需要进行数据的站间调用。,控制站间的数据交换,为了实现在控制站间交换数据,每个控制站开辟了一片共享数据区,用以存放共享数据。数据区内有128*4个字节描述为 LONG g_msg128(在SCControl中数据类型为DWORD)。为了最灵活经济的使用这片数据区,系统定义了一系列函数处理各种数据类型从数据区的放入和取出。通过sendmsg和getmsg执行发送和接收工作。,控制站间的数据交换,假如现在系统中有4个控制站,其中2号站需要调用1号站的一些数据,那么,让我们一起来看看实现数据交换的步骤,控制站间的数据交换,首先,在1号站内编制一段程序,通过程序把需要被调用的数据存放在本站点的数据共享区中,然后把这些共享数据发送到系统的过程控制网上。这一次的数据发送是采用广播式的发送,也就是不特别指明发送到哪一个控制站中。以上为被调用数据的站点上进行的操作。,控制站间的数据交换,接着,在接受数据的2号控制站中我们也要编制一段程序,将指定的1号控制站发送的数据接收到本站点中。接收过来的数据可以在本站点中任意使用。,控制站间的数据交换,例子:地址为2的控制站中有以下的一些数据需要在地址为4的控制站中使用,这些数据分别是:地址2号控制站中氧化炉温度TI-101,空气流量FI-101,反应罐液位LI-101,电机1状态DI-101,电机2状态DI-102,电机3状态DI-103,电机4状态DI-104。如何实现?,控制站间的数据交换,根据系统规定,模拟量位号在系统内以2字节的半浮点(sfloat)数据类型存放,开关量以布尔(bool)数据类型存放。对于g_msg变量,每一个g_msg分别可以利用它的高16位和低16位存放2个半浮点型或整型的2字节变量;若是布尔型的数据,g_msg的每一位可以存放一个布尔量,也就是每个g_msg变量可以存放32个布尔量(开关量);对于像浮点型(float)这样的本身就占用4个字节的变量,每个g_msg只能存放一个。,控制站间的数据交换,经分析,需要发送的数据有模拟量位号3个,开关量位号4个。在这里,根据题目要求,我们使用两个g_msg变量,其中的一个g_msg存放题目中要求的2个模拟量位号,正好占用了4个字节,另一个g_msg存放题目中的另一个模拟量位号(2个字节)和4个开关量(4位)。,控制站间的数据交换,发送:那么,在地址为2的控制站中,编写一段程序,程序中,将个模拟量和个开关量分别存放在个g_msg变量中,为了方便起见,程序中使用了g_msg0和g_msg1。然后将这两个g_msg发送出去。,控制站间的数据交换,Setsfloat函数是向长整数中放sfloat数据的函数。y=setsfloat(长整型数据,半浮点数据,或);长整型数据为被写的数据源,半浮点的数据为所需存放的数据,表示在长整型数据的低位上存放数据,表示在长整型数据的高位上存放数据。函数运算的结果就是向长整数中放sfloat数据。,控制站间的数据交换,Setbit函数是向长整数中放bool数据的函数。y=setbit(长整型数据,bool数据,0、131);长整型数据为被写的数据源,bool数据为所需存放的数据,0、131表示在长整型数据的哪一位上存放数据,函数运算的结果就是向长整数中放bool数据。,控制站间的数据交换,Sendmsg为设置向其他控制站发消息的数目的函数。sendmsg(所需发送msg的数量);,控制站间的数据交换,g_msg0=0;g_msg1=0;g_msg0=setsfloat(g_msg0,_TAG(TI-101).PV,0);g_msg0=setsfloat(g_msg0,_TAG(FI-101).PV,1);g_msg1=setsfloat(g_msg1,_TAG(LI-101).PV,1);g_msg1=setbit(g_msg1,_TAG(DI-101).PV,0);g_msg1=setbit(g_msg1,_TAG(DI-102).PV,1);g_msg1=setbit(g_msg1,_TAG(DI-103).PV,2);g_msg1=setbit(g_msg1,_TAG(DI-104).PV,3);sendmsg(2);,控制站间的数据交换,SETSFLOST模块的功能是在输入的32位DWORD型变量的指定位置设置16位的SFLOAT值,再赋给输出值。其中,SFLOAT型在计算机中以定点法存储,在指定位置设置后,整体以DWORD型传送。,控制站间的数据交换,输入引脚X上连接了一个DWORD变量,输入引脚SF上连接的就示需要在其他站点上被调用的数据位号,输入引脚SERIAL上连接的数字表示该半浮点位号在双字的g_msg变量中存放的位置序号(0表示放在低16位,1表示放在高16位)。将所需的数据存储在DWORD变量指定位置后,将数值改变后的DWORD变量从输出引脚Y输出。,SETBIT模块的功能与前面的模块类似,是在输入的DWORD型值的指定位置设置开关数据,再赋给输出值。也就是,在已存在的DWORD型值的某一位上设置开关数据,其余不变,然后输出。,控制站间的数据交换,输入引脚X上连接了一个DWORD变量,输入引脚Q上连接的就示需要在其他站点上被调用的数据位号,输入引脚SERIAL上连接的数字表示该布尔型位号在双字的g_msg变量中存放的位置序号(0表示放在最低位,31表示放在最高位)。将所需的数据存储在DWORD变量指定位置后,将数值改变后的DWORD变量从输出引脚Y输出。,SENDMSG模块的功能是通知发送消息的个数。SIZE定义消息的个数,消息内容放在g_msg中。,控制站间的数据交换,控制站间的数据交换,接收:接着我们需要在接受数据的站点地址4号控制站编写接受数据的程序。本站点需要接受的数据就是地址2号控制站发送出来的两个g_msg变量g_msg0和g_msg1。,控制站间的数据交换,Getmsg为从其他控制站取消息的函数。y=getmsg(控制站地址,所接收的msg号);,控制站间的数据交换,Getsfloat为从长整数中取半浮点数的函数。y=getsfloat(长整型数据,或);长整型数据为取数据的数据源,一般的,就是我们从其它控制站中取来的数据。表示从长整型数据的低位上取数据,表示从长整型数据的高位上取数据。,控制站间的数据交换,Getbit函数是从长整数中取BOOL数据的函数。y=getbit(长整型数据,0、131);长整型数据为取数据的数据源,一般的,就是我们从其它控制站中取来的数据,0、131表示从长整型数据的哪一位上取数据。,控制站间的数据交换,long msg0,msg1;sfloat TI101,FI101,LI101;bool DI101,DI102,DI103,DI104;msg0=getmsg(2,0);msg1=getmsg(2,1);TI101=getsfloat(msg0,0);FI101=getsfloat(msg0,1);LI101=getsfloat(msg1,1);DI101=getbit(msg1,0);DI102=getbit(msg1,1);DI103=getbit(msg1,2);DI104=getbit(msg1,3);,控制站间的数据交换,GETMSG模块的功能是从其他控制站取传送过来的消息。STATION引脚为控制站号,填写控制站的地址。SERIAL引脚为消息序号,填写所接受的msg序号。MSG引脚输出的是接受到的消息。,控制站间的数据交换,GETSFLOST模块的功能是从输入的32位DWORD型值的指定位置取16位的SFLOAT型值。其中,在计算机中,SFLOAT型用定点表示法表示。SERIAL=0,取低16位;SERIAL=1,取高16位。,控制站间的数据交换,输入引脚X上连接了一个DWORD变量,即为取数据的数据源。输入引脚SERIAL上连接的数字表示从双字的变量中取半浮点数的位置序号(0表示从低16位取数,1表示从高16位取数)。取出的半浮点数从输出引脚Y输出。,GETBIT模块的功能与前面的模块类似,是从输入的DWORD型值的指定位置取BOOL数。,控制站间的数据交换,输入引脚X上连接了一个DWORD变量,即为取数据的数据源。输入引脚SERIAL上连接的数字表示从双字的变量中取布尔数的位置序号(0表示从最低位取数,31表示从最高位取数)。取出的布尔数从输出引脚Q输出。,控制站间的数据交换,控制站间的数据交换,数据从网络上接收到本控制站后,通过上面的方法将数据取出来放在指定的变量中以后,在本控制站就可以任意的调用这些数据的实时值了。这就是控制站之间数据调用的全过程。,控制站间的数据交换,

    注意事项

    本文(浙大中控DCS培训教程-站间通讯.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开