西门子6ES7223-1PH22-0XA8使用说明
无线网络漫游切换PLC系统整合
随着国民经济的快速增长,旅游业、会展业的蓬勃发展以及大型国际交流的日益频繁,尤其是2008年北京夏季奥运会的临近,北京首都国际机场现有的吞吐能力与客流量的增长已经出现了严重不匹配现象。为了解决以上矛盾,现已在原有机场东侧规划了3号航站楼(T3)和第三条跑道,并已于2004年3月破土动工,预计2008年建成投入使用,迎接北京奥运会的召开。3号航站楼的建设在阶段由一个航站楼主楼T3A和一个weixing楼T3B组成,并在远期预留了增建T3A和T3B中间的weixing航站楼T3C。
为实现既有T1/T2航站楼和新建T3航站楼之间旅客的快捷运输,在航站楼T3A、T3B、T3C、T1/T2之间建设一条捷运地铁APM(AutomaticPeopleMoverSystem)系统,作为运送旅客的主要交通设施。该系统采用美国庞巴迪(运输)公司先进的全自动无人驾驶技术,地铁列车的出库、运行、到站、开门等所有操作均由程序控制,自动完成。由于没有工作人员,旅客在此过程中的情况,站内的服务人员就无法迅速得知,一旦遇到紧急事件,对旅客的生命财产威胁很大。因此,运用现有的视频技术、无线网络技术、自动化控制技术等多种技术形式,为捷运系统提供一套从旅客踏上捷运地铁开始就全程有值班人员监护的综合管理系统十分有必要。北京捷康特光电科技有限公司中标该项目以后,通过与多家设备生产厂家的紧密合作,终提供了一套完善的解决方案,现已在紧张有序的实施。由于该系统十分庞大,其中涉及了许多问题,但相应的很多解决方案在传统的监控系统中没有实际应用过。因此在这里选出其中的车载视频图像在高速传送的地铁上实现AP自动切换传送和模拟、数字结合监控系统与PLC系统整合两种重要实现技术的解决方案,介绍给读者。
系统描述
整个捷运系统的轨道线路全长约4公里,在T3A和T3BH之间的中间部分为嵌入式隧道,进、出站部分为高架线路,线路全长约2公里;从T3BH站前分岔处至综合维修中心和T1/T2站为地下隧道,隧道全长约2公里。轨道设计为两轨、双向,同一方向编组车辆多由4节车厢组成,多时在轨道上面可以运行8节列车。
每节车厢中设置两个摄像机,用于对内部所有乘客的监护,监控图像在车厢内用车载硬盘录像机实时进行录像,同时采用博世的双路实时视频编码器VIPX2进行压缩,处理成每路都具有D1分辨率的高清晰图像,然后通过思科的无线系统实时传输到地铁列车外面,由分布在轨道两旁的众多AP接收点接收后,通过光纤网络传送到控制中心,经过视频解码器解码处理后,接入矩阵主机进行视频切换控制。
无线漫游切换
高速移动状态下的无线传输是整个系统的一个难点,为了实现图像的流畅传输,业主对AP之间的切换时间有明确的要求,“跨AP的切换时间小于200ms,同时具备完善的安全认证措施”。这个项目未开始以前我们就选择了多个厂商的无线网路产品进行高速移动状态下的切换测试,终由思科系统(中国)网络技术有限公司提供的AIR-BR1310G系列AP产品经过思科工程师的几次调试,完全满足实际的使用要求,因此成为我们在这个项目中的无线传输产品,下面为该产品在无线漫游切换方面的解决方案。
车载设备的漫游切换,是本项目的技术关键所在。无线局域网本身具备与生俱来的移动特性,上面承载的众多应用中,很多都是对时延敏感的,当客户端漫游事件发生时,会导致系统产生额外的处理开销/延时。运用思科提供的快速安全漫游技术,可以在不牺牲安全性的前提下,简化漫游处理过程,从而满足上层应用对延时方面的严格要求。
通常的无线局域网漫游过程,需要三个方面的处理开销:
•漫游主体决定切换-寻找合适的新AP-重新关联;
•如果实施了802.1x/EAP,快速重认证和将会话密钥送给新AP(如果只采用静态WEP,则没有这个处理过程的开销);
•有线网络对漫游主体的转发地址更新过程(如果是二层漫游,则更新MAC地址转发表;如果是三层漫游,则更新IP地址转发表――本方案采用的是二层漫游的机制)。
部分的处理,在本项目的技术实现完全集中在车载设备WGB上(WGB是WorkgroupBridge的英文缩写,当思科AIR-BR1310G工作在WGB模式时,它可以关联到其它的思科AP,并对WGB以太网接口上所连接的一组电脑提供无线网桥连接。它可以将不具备无线网卡的设备通过无线网络进行上联,并且在漫游过程中充当有线连接的一组电脑(多255台设备)的漫游代理,从而提供令人满意的漫游切换性能。)。WGB引入“移动站”功能选项后,漫游切换时间大大缩短,当WGB发现与正在通讯AP的传输信号质量变差(RSSI值降低),过多的无线电射频干扰,或者高误码率的时候,WGB就会在不影响当前通讯的同时开始扫描查找新的AP;一旦发现新的AP信号质量好于正在通讯的设备,马上切换。
第二部分的处理,可以通过CCKM(CiscoCentralizedKeyManagement)技术,优化处理过程。CCKM是一组处理过程,用来在客户端(支持CCKM的WGB或网卡均适用)漫游过程时替代完整的认证过程,而又不降低系统安全级别。在本项目中,CCKM流程是在WDS,经过认证的合法轨旁AP,以及WGB之间实现的。在CCKM过程中,无线域服务(WDS)可以充当一个集中身份验证实体,支持快速的客户端重新认证,而不需要在客户端每次漫游时都进行一次全面的RADIUS重新认证。由有线端专用1310实现的WDS,控制的所有接入点和WGB都会通过扮演802.1X身份验证点角色的WDS,针对CiscoSecureACS(AAA服务器)进行802.1X身份验证。因为所有客户端和接入点都通过WDS进行身份验证,WDS能够在控制域中的所有轨旁AP之间建立共享密钥缓存数据库(保存在WDS内存中)。这个缓存数据库有助于实现快速安全漫游。因此,在车载设备漫游过程中,WGB重认证的请求被“漫游后关联的轨旁AP”转发给WDS,由WDS在缓存数据库中查找并将结果发送给“漫游后关联的轨旁AP”,从而在极短的时间完成重认证过程。CCKM全过程参见下面的图示。
步骤1
点击此处查看全部新闻图片
步骤2
点击此处查看全部新闻图片
步骤3
点击此处查看全部新闻图片
步骤4
点击此处查看全部新闻图片
第三部分的地址更新过程,主要由三个主要动作完成,采用了思科独有的IAPP(Inter-AccessPointProtocol)技术,主动将漫游事件的后果通知上游设备,而不是被动等待数据流触发的学习更新和AP的关联信息的超时,从而大大缩短了地址更新的时间。
步骤1由漫游的WGB通过IAPPAssociateReport,向“漫游后关联的轨旁AP”发送当前WGB以太网端口连接的所有有线网客户端MAC地址;
步骤2“漫游后关联的轨旁AP”发送源地址是漫游客户端地址的空MAC层组播包。这个步骤将使上游的有线交换机及时更新MAC地址表的对应项目,从而将数据流转发到“漫游后关联的轨旁AP”,而不是“漫游前关联的轨旁AP”。
步骤3“漫游后关联的轨旁AP”发送一个源地址是自己地址的MAC层组播包,告知“漫游前关联的轨旁AP”:漫游设备已经连接到新的AP。这样“漫游前关联的轨旁AP”收到通知后,从它自己的关联设备表中删除已经离开自己覆盖区域的客户端地址。
示意图
点击此处查看全部新闻图片
经过了上述的漫游处理优化,系统总体漫游时间大大缩短,完全可以控制在<200ms的范内。
系统自动管理控制
在这个系统中,列车的运行由程序自动化控制,整个列车的运行信息(如哪一列列车出站、行驶到哪里,进哪个站台,哪个车门打开等),都可以通过一台PLC接口控制服务器给出。控制中心的dianshi墙上应该显示哪些图像,除了可以按操作人员的使用习惯来操作外,更多的时候是通过程序自动地把需要显示的图像切换在屏幕上。如A列车带着3节车厢进了T3A站,这时在控制中心的屏幕墙上就会自动切换出这3节车厢内部的全部图像,及每个车门对应站台上的所有摄像机。当然,显示什么,怎么显示可以由操作人员人为设定。
根据以上的需求,我们设计了一套可以不断读写PLC服务器信息,并自动完成视频编解码器与矩阵间协调切换的整体控制程序。系统的实现主要得益于我们选择的博世安防产品的多样可定制性。无论是博世的视频矩阵切换主机LTC8600,还是数字视频管理系统VCSVIDOS,都可以通过编程进行操作。
博世LTC8600系列Aliegiant视频切换/控制器系统将切换和计算机技术结合一体,为保安系统的用户提供强大的功能和独具的特点。这些系统具备全矩阵切换能力,经过编程可以手控,或通过独立的自动切换顺序让任意一台摄像机显示在任何一台监视器上。LTC8600系列采用模块结构,可实现多种配置,多可包括128个摄像机输入,16路监视器输出,16个键盘,512个报警输入,1个计算机接口和1个记录打印机接口。
本产品可以通过编程设置60个显示顺序,顺序中的任何一个都可使用组同步切换功能。在这种切换中可以选出任何数量的系统监视器编成1个切换组。采用LTC8659/00主控软件包或LTC8850/00博世图形用户界面伺服器,顺序可以按中的某个时间和一周中的某些日被激活或取消。
系统的操作和编程均用一个符合人体工程学的全功能键盘完成。在键盘上,可以为操作人员设置不同的优先级,并可以限制某些操作人员对某些功能的使用。
而VCSVIDOS可以完全定制,允许用户完全按照自己所需要的方式运行安防系统。它能迎合客户的工作习惯,这与市场上销售的要求客户学习新规则的其他系统完全不同。VCSVIDOS可以与所有现有的外围设备(例如:球型摄像机和模拟监视器)集成。拥有强大的巡视功能、自动录制任务以及综合的存档功能。
现在该系统正在紧张的施工过程中,我们相信,在不久的将来,整个系统正式运行以后,必将为首都国际机场的运营提供安全高效的技术保障。
1 引言
随着激光技术的发展,激光测距传感器在检测领域得到了越来越多的应用。本文所研究的基于HOLLiAS-LEC G3小型一体化PLC的激光测距系统,对多台激光测距传感器所采集到的数据进行处理,并将数据传送给上位机,实现了对多台激光测距传感器的监控。
2 激光测距传感器的基本原理
激光测距传感器的基本原理是通过测量激光往返于被测目标之间所需的时间,来确定被测目标之间的距离。激光测距传感器的原理和结构都很简单,是长距离检测有效的手段。
激光测距传感器工作时,首先由激光二极管对被测目标发射激光脉冲。经被测目标反射后,激光向各方向散射。部分散射的激光返回到传感器的接收器,被光学系统接收后,成像到雪崩光电二极管上。雪崩光电二极管是一种内部具有放大功能的光学传感器,能够检测极其微弱的光信号。记录并处理激光脉冲从发射到返回所经历的时间,即可得到被测目标的距离。
3 PLC控制系统硬件设计
基于HOLLiAS-LEC G3小型一体化PLC的激光测距系统的功能结构图如图1所示。
图1 激光测距系统的功能结构图
PLC的CPU模块选用HOLLiAS-LEC G3系列的LM3108模块,其性能价格比很高,广泛应用于工业控制的各个领域。LM3108模块的标准配置包括两个串行通信接口PORT0和PORT1,其中PORT0为RS-485接口,PORT1为RS-232接口。采用RS-232接口建立PLC与上位机的通信,实现PLC程序的下装和监控。采用RS-485接口建立PLC与现场仪表的通信。
4 PLC控制系统软件设计
PLC采用自由口通信方式接收激光测距传感器的数据,用%MB400~%MB411的12个字节作为通信接收寄存器,存放自由口通信方式下所接收的数据。在PLC程序中设定的激光测距传感器的通信参数如表1所示。PLC控制程序采用和利时公司的编程软件PowerPro完成,下面详细介绍数据解析程序。其它应用程序从略。
表1 激光测距传感器的通信参数
4.1 数据解析程序的变量定义
PROGRAM PLC_PRG
VAR
SetRS-485: Set_COMM2_PRMT;
(* RS-485自由口通信参数设置 *)
SetRS-485Q: BOOL;
(* RS-485自由口通信参数设置标志 *)
Receive: COMM2_RECEIVE;
(* RS-485自由口通信数据接收 *)
ReceiveQ: BOOL;
(* RS-485自由口通信数据接收标志 *)
ReceivedData: bbbbbb;
(* 存储ASCII码数据的字符串 *)
bbbbbbbb1: INT; (* 起始字符的位置 *)
bbbbbbbb2: INT; (* 结束字符的位置 *)
ReceivedData_bbbbbb: bbbbbb;
(* ASCII码形式的数据 *)
ReceivedData_DWORD: DWORD;
(* 十六进制形式的数据 *)
END_VAR
4.2 数据解析程序的梯形图
如图2所示。
图2 数据解析程序梯形图
4.3 数据解析程序分析
PLC从激光测距传感器接收到的数据是ASCII码形式,所以需要将ACSII码转换成PLC能够操作的十六进制数。
首先在存储ASCII码数据的字符串ReceivedData中找到数据的起始字符“+”,并将其位置存储在变量bbbbbbbb1中。然后再找到数据的结束字符“$R”,并将其位置存储在变量bbbbbbbb2中。将位置bbbbbbbb2与位置bbbbbbbb1之间的字符取出,存入变量ReceivedData _bbbbbb中,此即为数据的ASCII码形式。后将该ASCII码形式的数据ReceivedData_bbbbbb转换位十六进制形式的数据ReceivedData_DWORD,即完成了数据的解析。
5 结束语
采用和利时HOLLiAS-LEC G3小型一体化PLC作为激光测距系统的控制核心,可以方便地与激光测距传感器进行通信。实践证明,该方案结构简单,运行过程稳定可靠,实现了激光测距系统的数据采集与处理
141:应用软件冗余当一个长度错误出现导致CPU处于STOP模式应该作些什么?
当在OB100中设置软件冗余功能块FC100时,必须注意下列情况:参数IEC_NO 的背景数据块必须至少有两个字的长度,同样应用于冗余用户程序的参数 DB_NO的数据块也必须时这样。
142:在S7程序中,有许多FC、FB块, 我怎样对其中的一些块进行保护, 而其它的块可以是开放的呢?
1) Step7中, 可以先任意打开一块如OB1, 在"file"中选择"Generate Source"或快捷方式"Ctrl+T",弹出一个画面,填写"bbbbbb name"如"tt",然后按OK确认,就会再弹出另一个画面,左边是你的程序中所有的块,如果你需要保护哪些块, 就把这些块移到右边,如FB1、FB2等等, 然后退出所有的程序块,再进入SIMATIC Manager中。
2) 在S7 Program Sources找到文件tt,双击tt打开,在第四行中加入"Know_How_Protect", 然后编译, 无错后存盘。这样FB1、FB2就被保护住,如想去掉保护,在tt中去掉"Know_How_Protect"编译存盘即可。
注意: 千万不要丢失或删除源文件(如tt), 否则程序被保护, 用户可以另存到其它目录中,或Export Source到硬盘中,再删除源文件,这样别人只能看到未保护的块。
143:SFB41,SFB42,SFB43和FB41,FB42,FB43的区别?
SFB41(CONT_C),SFB42(CONT_S),SFB43(PULSEGEN)块和FB41(CONT_C),FB42(CONT_S),FB43(PULSEGEN)的区别: SFB41,42,43与FB41,42,43的参数设置是一样的。SFB41,42,43只能用于CPU314IFM;FB41,42,43可用于CPU313以上的CPU(除CPU314IFM),因为SFB41,42,43集成于CPU314IFM中,而在普通CPU中没有这些块。
144:如何在多例兼容功能块中找到变量地址?
在多例兼容功能块中,为块参数和静态本地数据加载与地址寄存器AR2有关的地址。如果要在情景数据块中找到变量的地址,则必须把域内指针(只是AR2的地址)加载到变量地址。
样例:
TAR2 //将地址寄存器加载到累加器AC1(偏移量)
UD DW#16#00FF_FFFF // 关闭区域ID
L P##variable //加载变量地址
+D // 增加偏移量和变量地址
LAR1 // 保存地址寄存器AR1中的结果
这样可在AR1中获得地址以进行进一步处理。
当功能块作为本地实例调用时,总要使用该方法。比如,在一个功能块中创建可做为类型“FB”的静态变量的功能块。这样所调用的情景数据块的数据偏移量就存储到情景数据块中。单个实例的偏移量在AR2中。如果不调用作为本地实例的功能块,则可以结束计算。值‘ 0’就在地址寄存器中。
注意事项:如果改变程序中的地址寄存器AR2,那么也改变了变量的偏移量地址。因此就不能保证再对变量进行正确访问。在这种情况下,必须预先保存AR2,并 在对程序动作完之后将其 复位为初始状态。
样例:
TAR2 // 在累加器中加载偏移量地址
T #save // 比如,静态本地数据域 0中的变量
L DID 0 // 地址是由DI加载的beds L AR2 // 核对
145:怎样才能访问上一函数的本地数据?
如要访问以前的本地数据(“V-e > L”数据),可以传送一自创建ANY指针或地址到被调用的FC。如果传送的是自创建ANY指针,区域指针会指向其本地数据,而这是无意义的。> 因此“V”区域码必须置于ANY指针中。此码必须准确传送。当指定地址时可由编译器完成此工作。
常规程序结构:
以ANY指针或(地址)方式传送:
LAR1 P##target //本地定义的ANY变量初始地址
L W#16#87 //为“V”区域载入码
T LB[AR1,P#6.0] //传送到ANY变量
CALL FCxy
source1: = #target //传送自创建的ANY指针
source2: = P#L 0.0 BYTE 8 //传送完全L数据区
寻址与通过ANY指针寻址的区别:
下图显示了寻址与通过自创建ANY指针寻址间的区别。在这种情况下“ 87”码不传送,因此ANY指针指向其本地区域。
146:怎样在DB内进行间接寻址?
请参照:
在DB内进行间接寻址例子
147:下面是一个在STEP7软件中实现简单指针寻址的例子程序,您可以参考它的结构实现您的指针寻址功能?
siemens指针寻址例子_cpu315
148:地址和符号寻址的定义和区别是什么?
在STEP 7程序中要用到I/O信号、位寄存器、计数器、定时器、数据块及功能块。在程序中可以采用直接地址,或者更便于读程序的符号寻址,例如Motor_A_On, 或采用你的公司或行业常用的代码。这样在你的用户程序中就可以通过符号来寻址。
地址:地址由地址标识符和存储器的位置组成,例如 Q1.0,I1.1, M2.0, FB21等。
符号地址 :如果为地址指定一个符号名,程序会更便于阅读和查错。
STEP 7 可以自动将符号名翻译成所需的地址。如果要用符号名存取ARRAY、STRUCT、数据块、局部数据、逻辑块、以及用户自定义数据类型, 必须首先为地址指定一个符号名。
例如,可以为Q0.0 指定一个符号名MOTOR_ON,然后在程序中将MOTOR_ON作为一个地址使用。使用符号地址更容易将您的过程控制项目中的元件与程序中的元件相对应。
注意:在符号名中不允许使用两个连续的下划线,例如MOTOR__ON。
编程支持 :LAD、FBD、STL中地址、参数、块名可用地址或符号表示。
用菜单命令View > Display > Symbolic Representation,可以切换地址和符号地址
为了使用符号地址编程更加容易,可以同时显示地址和符号名。使用菜单命令 View > Display > Symbol Inbbbbation来激活。这就意味着STL语句的注释包含了更多的信息。不能在该界面下进行修改,只能在符号表(symbol table)或变量声明表(variable declaration table)中进行修改。
149:S7-300/400系统存储区域共有多少种?
S7 CPU的系统存储区域分为下表中列出的地址区域。在程序中可以根据相应的地址直接读取数据