atcp_kapi_lock
城轨信号iLOCK型计算机联锁系统维护
IBP盘
道岔
继
电
信号机
接
口
电
屏蔽门/安全门
路
其它接口
CC
ZLC
联锁A机
联锁B机
打印机 计轴
ATP/ATO 子网 ATC骨干网
城轨信号设备集中站iLOCK 计算机联锁系统构成
邻站CI ZC
非设备集中 站设备
现地控制工作站 C
设备集中 站设备
现地控制工作站 现地控制工作站
A
B
ATS子网
非设备集中 站设备
五、iLOCK系统的外部接口
信号机
道岔
IBP盘
屏蔽门
线路编码单元 LEU
非设备集中站操作员
电
CI子系统
源
设备集中站操作员
ATS子系统 MSS子系统
邻站(线) CI子系统
ATC子系统
计轴设备
维护人员
4)同步灯:该灯点亮表示联锁A机与联锁 B机的采集码位一致。
5)双系切换手柄:该手柄有“A机”,“自 动”,“B机”3个位置,其中手柄扳到“A机”位置 表示系统切换至A机工作,A机为主机,B机为 备机。手柄扳到“自动”位置表示系统运行在原 有的主机或者备机状态下,当主机发生故障, 系统可自动切换至备机工作,手柄扳到“B机” 位置表示系统切换B机工作,A机为备机,B机 为主机。在正常情况下,手柄必须扳到“自动”。
2008年9月23日,iLOCK系统获得铁道部行政许可。
➢ iLOCK系统是在一般的“2取2” 安全结构的基础上,再增
加独立的“故障-安全”校验CPU,采用NISAL专利技术,
构成的智能安全型计算机联锁系统。 ➢ iLOCK系统由以下6个子系统组成
✓ 联锁处理子系统(IPS) ✓ 人机界面子系统(MMI) ✓ 值班员台子系统(GPC) ✓ 诊断维护子系统(SDM,含微机监测-可选) ✓ 冗余网络子系统(RNET) ✓ 电源子系统(PWR)
西门子SIMATIC ET 200pro FC-2 参数手册说明书
4.1.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
4.1.2 关于故障和报警列表的说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
3.9
矢量控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
3.10 工艺功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
2.5
写保护和专有技术保护参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
2.5.1 带有 “WRITE_NO_LOCK” 的参数 . . . . . . . . . . . . . . . . . . . . . . . . . 272
Hale Waihona Puke 92 参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1
参数一览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
SIMATIC ET 200pro FC-2
6
参数手册 (LH20), 04/2015, A5E34501751
VPI-3&iLOCK型计算机联锁使用操作说明书
卡斯柯信号有限公司企业标准CASCO SIGNAL LTD. STANDARDSDocument No.VPI-3/iLOCK型计算机联锁系统操作说明书拟制: 日期: 年月日审核: 日期: 年月日批准: 日期: 年月日受控号:修订页目录1目的和适用范围 (3)2操作说明书 (3)2.1MMI子系统概述 (3)2.2系统启动后MMI的操作步骤 (4)2.3MMI控制区域的切换 (5)2.4MMI的站场图窗口 (6)2.5MMI的命令工具条 (10)2.6MMI的其它辅助功能 (20)附录一应急盘的使用(可选) (23)附录二与驼峰场接口的说明 (24)附录三与其它车场接口的说明 (26)附录四延续进路 (27)附录五四线制自动闭塞方向电路操作说明 (29)附录六带密码操作汇总 (31)附录七安全型计算机联锁(iLOCK/VPI)系统车站值班员操作上岗测试题 (33)VPI/iLOCK计算机联锁系统操作说明书1目的和适用范围目的:为了方便值班员对VPI-3/iLOCK子系统MMI熟练操作。
范围:适用于所有的VPI-3/iLOCK型计算机联锁系统。
2操作说明书MMI子系统概述人机界面子系统(以下简称MMI)通常由工控机、显示器、鼠标、键盘等设备组成,也可根据用户要求采用控制台、大表示屏、数字化仪等。
MMI采用“N+1”的系统结构,“N”套设备为主用设备,“1”套为备用设备。
通常,MMI显示器上显示站场,值班员用鼠标进行有关操作,系统给予简洁明了的表示和语音提示。
系统采用多窗口界面,在正常运行状态下主窗口显示站场图,下方是命令工具条,上方是设备状态栏,中间有可以移动的操作信息框。
除此以外,系统还提供方便的菜单式窗口提示。
界面如下:主窗口站场图的显示与6502基本一致,主要包括站场显示、各类报警表示灯、状态表示灯及接发车箭头等。
操作命令工具条是MMI操作的关键,主要包括以下操作按钮:排列进路、总取消、信号重开、引导按钮、总人解、道岔总定、道岔总反、道岔单锁、道岔解锁、封锁按钮、功能按钮、区故解、控制区域等,具体操作见后述。
Model 7265 DSP Lock-in Amplifier 信号恢复仪说明书
Dual Reference In this mode the instrument can make simultaneous measurements on two signals at different reference frequencies, which is ideal, for example, for use in source compensated optical experiments
Graphical Display
The model 7265 is extremely easy to use. All instrument controls are adjusted using soft-touch, front panel push-buttons, with the present settings and measured outputs being displayed on the centrally located, cold fluorescent backlit dot-matrix LCD. A particularly convenient feature is the pop-up keypad which is
External control of the unit is via either the RS232 or GPIB interfaces, using simple mnemonic-type ASCII commands. A second RS232 port allows up to sixteen 7265 or compatible instruments to be operated from a single RS232 computer port by connecting them in a “daisy-chain” configuration.
IC卡保险箱
IC 卡保险箱摘要本文详细介绍了利用逻辑加密卡SLE4442设计IC 卡保险箱(DEMO 板)的过程该保险箱是利用P87LPC764做处理器另扩展1片E 2PROM 组成的应用系统该保险箱具有如下功能卡号自学习读卡出错计数和非法卡计数达到设定次数保险箱死锁控制该保险箱有权限和功能不同3种卡(1)用户卡最终用户开箱用权限最低(2)客户卡分配用户卡给指定的保险箱(3)超级卡用于死锁后开箱用权限最高一件电路原理(一)系统功能分析该保险箱至少应该具有如下部分IC 卡电源卡读写电路电机驱动部分系统功能模块如图1所示图1 系统框图(二) 硬件电路设计分析 因为是试验性DEMO 板我们略去了电源和电机驱动部分仅对IC 卡读写电路部分作介绍IC 卡读写电路如图2所示IC 卡插座图2 IC 卡读写电路在这部分扩展了1片E 2PROM(24WC02)是用来保存锁的状态信息当卡掉电以后E 2PROM 可以把当前锁内的信息保存下来等到下次插卡上电CPU 再从其中读出锁的信息E 2PROM 和CPU 之间采用I 2C 总线结构IC 卡插入信号线接到CPU 的INT1管脚上当IC 卡插入插座时CARD 和VSS 地短接产生一下降沿触发外部中断程序就可以进入到处理部分为了直观地看到开锁死锁非法卡等信息我们在控制电机驱动的管脚上接了发光二极管参见图2P0.0口所接的DEAD 信号LED(红)亮表示已经死锁P0.2所接的INV ALID 信号LED(黄)亮表示当前插入的卡是非法卡或者无效卡P0.3口所接的LOCK 信号(绿)亮则表示开锁动作P0.4口所接的STUDY 信号LED(红)则用来指示学习状态二程序设计(一) 工作流程分析在平时保险箱的锁都处于等待状态等待卡的插入一旦卡插入CPU 便根据卡的合法与否执行相应的程序比如开锁学习警告等插卡后的工作流程可以结合图3来理解对任何保险箱而言开锁都是一个不确定的事件也就是说CPU执行开锁程序是一个不确定的事件对于这种不确定事件的处理一般都当作中断来看待整个设计几乎都在处理中断硬件中把这个中断安排为外部中断1从图3中可以看到程序流程并不复杂读出IC 卡和E 2PROM 中的数据判别后进行相应的操作如开锁写E 2PROM 等图3 工作流程图(二) 主程序流程分析整个工作过程不难发现在等待插卡的状态下CPU 几乎可以不要做任何事情因而这个设计的主程序很短所完成的也就仅仅是对锁的初始化主程序流程图参见图4状态字保护区00H02H 超级卡号区10H 1FH 客户卡号区20H 2FH 用户卡号区30H3FH其中:00H学习状态标志01H 错误计数器02H死锁标志PROM 存储单元规划表1E 2图4 主程序流程图(三) 器件说明 1. E 2PROM选用CA T24WC02支持I 2C 总线周立功单片机发展有限公司已经开发出专门的I 2C 软件包在对24WC02进行读写操作的时候只需要调用该软件包就可以了程序结束处的$INCLUDE(VI2C_24A.INC)就是调用该软件包需要注意的是在调用之前必须按照软件包的要求定义好入口出口参数E 2PROM 用来保存锁的信息我们需要对其内部存储单元进行规划程序中是按照表1所示来规划的程序对这些单元进行操作2. SLE4442卡SLE4442是逻辑加密卡它具有2K 位的存储容量支持2总线连接协议(串行口满足ISO7816同步传送协议)其触点安排如图5引脚的定义和功能见表2图5 SLE4442触点示意图表2 SLE4442引脚及功能引脚卡触点符号功能1 C1 Vcc 操作电压5V2 C2 RST 复位3 C3 CLK 时钟4 C4 NC 未用5 C5 GND 地6 C6 NC 未用7 C7 I/O 双向数据线(漏极开路)8 C8 NC 未用SLE4442采用多存储器结构主要包括3个存储器(参见图6)(1) 256x8位E2PROM型主存储器地址0~31为保护数据区该区数据读出不受限制写入受保护存储内部数据状态的限制当保护存储器中第N位(N=0~31)为1时对应主存储器中第N个字节允许进行擦除和写入操作地址32~255后244字节为应用数据区数据读出不受限制擦除和写入受加密存储器数据校验结果的影响这种加密校验的控制是对整个主存储器实施的(即包括保护数据区和应用数据区)(2) 32 x1位PROM型保护存储器一次性编程以保护主存储器保护数据区防止一些固定的标识参数被改动保护存储器同样受加密存储器数据校验结果的影响(3) 4x8位E2PROM型加密存储器第0字节为密码输入错误计数器(EC)EC的有效位是低三位芯片初始化时设置成111这一字节是可读的EC的123字节为参照字存储区这3个字节的内容作为一个整体被称为可编程加密代码(PSC)其读出写入和擦除均受自身比较操作结果的控制图6 芯片内部逻辑结构SLE4442读写均有严格的时序和特定的数据传输格式特作如下说明(1) 复位和复位响应复位和复位响应是根据ISO7816-3标准来进行的(参见图7)在操作期间的任意时候都可以复位开始地址计数器随一个时钟脉冲而被设置为零当RST线从高状态(H)置到低状态(L)时,第一个数据位(LSB)的内容被送到I/O上若连续输入32个时钟脉冲主存储器中的前四个字节地址单元中的内容被读出在第33个始终脉冲的下降沿I/O线被置成高状态而关闭图7 复位和复位响应时序图(2)命令模式复位响应以后芯片等待着命令每条命令都以一个启动状态开始整个命令包括3个字节随后经跟着一个附加脉冲并用一个停止状态来结束操作(时序参见图8)启动状态在CLK为高状态(H状态)期间I/O显得下降沿为启动状态停止状态在CLK为高状态(H状态)期间I/O显得上升沿为停止状态在接受一个命令之后有两种可能的模式输出数据模式(即读数据)和处理数据模式图8 命令模式的时序关系注:IFD (INTERFACE DEVICE)指接口设备(3) 输出数据模式图9 输出数据模式的时序关系这种模式是将IC卡芯片中的数据传送个外部设备接口(IFD)的一种操作在第一个CLK脉冲的下降沿之后I/O线上的第一位数据变为有效随后每增加一个时钟脉冲芯片内部的一位数据被送到I/O线上其传送顺序从每个字节的最低位(LSB)开始当所需要的最后一个数据送出以后需要在附加一个时钟脉冲来把I/O置成高状态以便接受新的命令在输出数据期间任何启动状态和停止状态均被屏蔽掉(4)处理数据模式这种模式是对IC芯片作内部处理图10 处理模式的时序关系芯片在第一个始终脉冲的下降沿将I/O线从高状态拉到低状态并开始处理此后芯片在内部连续计时计数直到第N个始终脉冲之后的附加一个时钟脉冲的下降沿I/O线再次置高完成芯片的处理过程在整个处理过程中I/O线被锁定成低状态芯片的操作命令和数据格式(1) 每条命令包含三个字节其排列顺序如表3表3 命令排列顺序MSB 控制字LSB MSB 地址字LSB MSB 数据字LSBB7 B6 B5 B4 B3 B2 B1 B0 A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0(2) SLE4442芯片具有七种命令其格式和功能见表4表4 命令格式及功能字节1(控制) 字节2(地址) 字节3(数据) 功能命令模式B7~B0 A7~A0 D7~D030H 地址数无效读主储存器输出数据模式38H 地址数输入数据修改主储存器处理模式34H 无效无效读保护储存器输出数据模式3CH 地址数输入数据写保护储存器处理模式31H 无效无效读加密储存器输出数据模式39H 地址数输入数据修改加密储存器处理模式33H 地址数输入数据比较校验数据处理模式注意对于每个字节来说总是从最低位LSB开始读出写入时首先传送的也是字节的最低位(LSB)对保护存储器进行修改时输入数据必须与原有数据相等才能正确保护我们把对SLE4442进行读操作的程序单独写成一个模块(SLE4442.INC)程序在需要的时候进行调用程序末尾的$INCLUDE(SLE4442.INC)就是调用这个驱动模块在调用之前需要定义好入口出口参数该设计不直接对SLE4442卡进行写操作事先用写卡器写好权限不同的卡锁只对这张卡进行识别程序中规定卡号存放在SLE4442的30H3FH单元在写卡的时候卡号必须写到这个区域(四) 程序清单1. 服务程序$NOMOD51$INCLUDE(REG764.INC);************和E2PROM有关的定义**********ACK BIT 00H ;I2C总线应答位SLA DA TA 53H ;器件从地址变量SUBA DA TA 54H ;器件子地址变量NUMBYTE DA TA 03H;发送接收字节变量MTD EQU 30H ;发送数据缓冲区首址MRD EQU 40H ;接收数据缓冲区首址0A0H ;24WC02地址CSI24WCXX EQUSDA BIT P0.1 ;I2C数据信号SCL BIT P1.2 ;I2C时钟信号;***************变量定义*********************ErrCnt DA TA 55H;错误计数器DA TA 56H;状态寄存器,56H.1=1学习STA TUS;死锁标志寄存器,57H.1=1死锁DA TA 57HDeadLock;***************口线定义*********************Dead BIT P0.0 ;死锁状态指示灯Invalid BIT P0.2 ;非法卡指示灯Lock BIT P0.3 ;锁指示灯Study BIT P0.4 ;学习状态指示灯;********************************************ORG 0000HAJMP MAIN0013HORGAJMP INSERT_CARD0100HORGMAIN:;设置栈底MOV SP,#60HSETB INT1 ;置INT1为高电平SETB IT1 ;下降沿触发SETB EA ;总中断允许SETB EX1 ;开外部中断*********************************************;向E2PROM的00~02H单元写0,初始化锁的状态;*********************************************MOV 30H,#0 ;锁的初态MOV 31H,#0 ;MOV 32H,#0 ;;准备写进E2PROM的00~02H单元;24WC02地址MOV SLA,#CSI24WCXXMOV SUBA,#00H ;器件子地址,从00H开始写;写3个字节MOV NUMBYTE,#03LCALL IWRNBYTE ;写入E2PROMACALL DELAY ;延时;*********************************************;向E2PROM的30H~3FH中写入默认用户卡卡号(全0EEH);*********************************************MOV R7,#16 ;16个字节MOV R0,#MTD ;发送区30H~3FH首址MOV A,#0EEH ;全赋初值0EEHLOADDA T1:MOV @R0,A ;装载到缓冲区INC R0 ;;DJNZ R7,LOADDA T1;准备写进E2PROM的30~3FH单元;24WC02地址MOV SLA,#CSI24WCXXMOV SUBA,#30H ;器件子地址,从30H开始写;写16个字节MOV NUMBYTE,#16LCALL IWRNBYTE ;写入E2PROMACALL DELAY ;延时;*********************************************;向E2PROM的10H~1FH中写入超级卡卡号(全55H);*********************************************MOV R7,#16 ;16个字节MOV R0,#MTD ;发送区30H~3FH首址MOV A,#55H ;全赋初值55HLOADDA T2:MOV @R0,A ;装载到缓冲区INC R0 ;DJNZ R7,LOADDA T2;;准备写进E2PROM的10~1FH单元;24WC02地址MOV SLA,#CSI24WCXXMOV SUBA,#10H ;器件子地址,从10H开始写;写16个字节MOV NUMBYTE,#16LCALL IWRNBYTE ;写入E2PROMACALL DELAY ;延时;*********************************************;向E2PROM的20H~2FH写入客户卡卡号(全0FFH);*********************************************MOV R7,#16MOV R0,#MTD ;发送区30H~3FH首址MOV A,#0FFH ;全赋初值0FFHLOADDA T3:MOV @R0,A ;装载到缓冲区INC R0 ;;DJNZ R7,LOADDA T3;准备写进E2PROM的20~2FH单元;24WC02地址MOV SLA,#CSI24WCXXMOV SUBA,#20H ;器件子地址,从20H开始写;写16个字节MOV NUMBYTE,#16LCALL IWRNBYTE ;写入E2PROMACALL DELAY ;延时LOOP: ;控操作死循环等待中断NOPNOPAJMP LOOP;********************************************;插卡后产生中断,以下是中断服务程序;********************************************INSERT_CARD:PUSH PSWPUSH ACC;*************读入锁的当前信息***************Read_Lock_Inform:MOV SLA,#CSI24WCXXMOV SUBA,#00H ;指定存储地址00HMOV NUMBYTE,#03 ;读入3字节数据LCALL IRDNBYTE ;调用IRDNBYTE读取信息,读取信息在MRD(40H~42H)区;锁的状态信息MOV Status,40HMOV ErrCnt,41H ;错误信息;死锁信息MOV DeadLock,42H;************读插入卡卡号********************Read_Insert_Card:MOV SubAdr,#30H ;卡号存放首址;调用读卡子程序;卡号存放在ReadBuf(30H~3FH)中LCALL ReadCardJNZInvalid_Card ;ACC不为0无效卡;************判断锁当前状态******************MOV A,DeadLockJNB;没有死锁继续ACC.1,GO_ONCLR Dead ;死锁了点亮死锁指示灯ACALL DELAYAJMP Read_Super_Card ;死锁了判断是不是超级卡GO_ON:MOV A,StatusJB ACC.1,Regist_User_card ;学习状态吗?是学习状态则设置用户卡号;************读E2PROM中用户卡号***********Read_User_Card:MOV SLA,#CSI24WCXXMOV SUBA,#30H ;指定存储地址30HMOV NUMBYTE,#16 ;读入16字节数据LCALL IRDNBYTE ;调用IRDNBYTE读取信息,卡号放在MRD(40H~4FH)区;***************是用户卡吗?*******************MOV R2,#16 ;16字节Compare_User_Card:;MOV R0,#30HMOV A,@R0 ;读入插入卡卡号;读入E2PROM中用户卡号MOV R1,#40HCYCLRSUBB A,@R1 ;Read_Client_Card ;不同,读客户卡号JNZINC R0 ;INC R1 ;DJNZ R2,Compare_User_Card ;比较完了吗?AJMP Open_Lock ;是用户卡,开锁;*************读E2PROM中客户卡号***********Read_Client_Card:MOV SLA,#CSI24WCXXMOV SUBA,#20H ;指定存储地址20HMOV NUMBYTE,#16 ;读入16字节数据LCALL IRDNBYTE ;调用IRDNBYTE读取信息,卡号放在MRD(40H~4FH)区;***************是客户卡吗?********************MOV R2,#16 ;16字节Compare_Client_Card:;MOV R0,#30HMOV A,@R0 ;读入插入卡卡号;读入E2PROM中客户卡号MOV R1,#40HCYCLRSUBB A,@R1 ;JNZRead_Super_Card ;不同,转读超级卡INC R0 ;下一位INC R1 ;下一位;比较完了吗?DJNZ R2,Compare_Client_Card;是客户卡,转到客户卡的操作AJMP Is_Client_Card;*************读E2PROM中超级卡号***********Read_Super_Card:MOV SLA,#CSI24WCXXMOV SUBA,#10H ;指定存储地址10HMOV NUMBYTE,#16 ;读入16字节数据LCALL IRDNBYTE ;调用IRDNBYTE读取信息,卡号放在MRD(40H~4FH)区;***************是超级卡吗?*******************MOV R2,#16 ;16字节Compare_Super_Card:;MOV R0,#30HMOV A,@R0 ;读入插入卡卡号MOV R1,#40H;读入E2PROM中超级卡号CYCLRSUBB A,@R1 ;Invalid_Card ;不同,非法卡JNZINC R0 ;INC R1 ;DJNZ R2,Compare_Super_Card ;比较完了吗?AJMP Open_Lock ;是超级卡,开锁;***************非法卡服务程序****************Invalid_Card:CLR Invalid ;点亮非法卡指示灯ACALL DELAYMOV A,DeadLockJB ACC.1,EXIT ;已经死锁了直接退出INC ErrCnt ;错误次数加1MOV A,ErrCntCJNE A,#03,Not_Dead;到达死锁条件了吗?3次非法就死锁;死锁MOV DeadLock,#0FHCLR Dead ;AJMP SA VE0Not_Dead:MOV DeadLock,#0 ;没有死锁SA VE0:MOV 30H,Status;锁的当前状态MOV 31H,ErrCnt ;;MOV 32H,DeadLockAJMP SA VE ;写入E2PROM;*********************************************;设置用户卡号,需要看是不是客户卡,是客户卡不操作;*********************************************Regist_User_card:;读插入卡卡号MOV SubAdr,#30H ;卡号首址;调用读卡子程序;卡号存放在ReadBuf(30H~3FH)中LCALL ReadCardInvalid_Card ;ACC不为0无效卡JNZ;***************读入客户卡********************MOV SLA,#CSI24WCXXMOV SUBA,#20H ;指定存储地址20HMOV NUMBYTE,#16 ;读入16字节数据LCALL IRDNBYTE ;调用IRDNBYTE读取信息,卡号放在MRD(40H~4FH)区;***************是客户卡吗?********************MOV R2,#16 ;16字节Compare_Client_Card2:;MOV R0,#30HMOV A,@R0 ;读入插入卡卡号;读入E2PROM中客户卡号MOV R1,#40HCLRCYSUBB A,@R1 ;JNZ Regist ;不是客户卡,写入E2PROM作为用户卡号INC R0 ;下一位INC R1 ;下一位;比较完了吗?DJNZ R2,Compare_Client_Card2AJMP EXIT ;是客户卡,退出Regist: ;用户卡号写进E2PROM的30~3FH单元;24WC02地址MOV SLA,#CSI24WCXXMOV SUBA,#30H ;器件子地址,从30H开始写;写16个字节MOV NUMBYTE,#16LCALL IWRNBYTE ;写入E2PROMSETB Study ;学习完毕,关闭指示灯AJMP RENEW ;恢复锁初态;***************客户卡服务程序****************Is_Client_Card:MOV 30H,#0FH;置锁为学习状态MOV 31H,#0 ;错误为0MOV 32H,#0 ;没有死锁CLR Study ;点亮学习状态指示灯AJMP SA VE ;写入E2PROM;***************开锁服务程序******************Open_Lock:CLR Lock ;开锁SETB Dead ;关闭死锁指示灯ACALL DELAY ;延时SETB Lock ;关闭开锁指示灯RENEW:MOV 30H,#0 ;恢复锁的初态MOV 31H,#0MOV 32H,#0SA VE:;24WC02地址MOV SLA,#CSI24WCXXMOV SUBA,#00H ;器件子地址,从00H开始写MOV NUMBYTE,#3 ;写3个字节LCALL IWRNBYTE ;写入E2PROMEXIT:SETB Invalid ;关闭非法卡指示灯ACCPOPPSWPOPRETI;**************延时子程序*********************DELAY:MOV R5,#0FFHDL1: MOV R4,#0FFHDL2: DJNZ R4,DL2DJNZ R5,DL1RET;包含SLE4442驱动程序$INCLUDE(SLE4442.INC)$INCLUDE(VI2C_24A.INC) ;包含I2C软件包END2. SLE4442驱动程序;*****************************************************************************; SLE4442驱动程序说明;ReadCard 读出从SubAdr开始的ByteCnt字节,结果存放于(RcvDat)中,读出正确,ACC中返;回#0,返回#01表示无效卡或者卡损坏,(注读函数已经对数据进行了校验);*****************************************************************************;*************IC卡位定义********************ICin BIT P1.4 ;IC卡插入连锁端口VCC1 BIT P2.0 ;IC卡电源控制端口RST BIT P1.0 ;IC卡复位端SD BIT P0.1 ;IC卡数据线CLK BIT P2.1 ;IC卡时钟线ICN BIT P0.7 ;IC卡短路检测端口;*******************变量定义******************ReadBuf EQU 30H ;读IC卡缓冲区首址WriteBuf EQU 40H ;写IC卡缓冲区首址;被控器单元地址SubAdr Data01H;I2C数据位计数器BitCnt Data02H;I2C数据字节计数器03HByteCnt Data;*************IC卡常数***********************Idetify1 EQU 0A2H ;此处为IC卡保护区00~03单元的值,用于识别卡Idetify2 EQU 13HIdetify3 EQU 10HIdetify4 EQU 91H;********************************************ReadCard:PUSH 05HPUSH 02HPUSH 00HACALL ANRST ;调用复位应答子程序JNZ ReadExit ;ACC中不为0非法卡退出;被控器件地址单元MOV R5,SubAdrMOV R0,#ReadBuf ;读缓冲区MOV R2,#16 ;16个字节ACALL Remm ;读主存储器MOV R0,#ReadBuf ;MOV R2,#14 ;MOV A,@R0 ;Checksum: ;和校验R0INCXRL A,@R0 ;DJNZ R2,checksum ;INC R0 ;CLR C ;SUBB A,@R0 ;校验后返回值在ACC中ReadExit:00HPOP02HPOP05HPOPRET;********************************************;发送命令子程序;参数R4,R5,R6分别是命令地址数据字节;********************************************SendComm:PUSH ACCSETB SD ;产生开始条件ACALL Delay10uSSETB CLKACALL Delay10uSCLR SDACALL Delay10uSCLR CLKMOV A,R4 ;命令字节ACALL SendByte1 ;发送MOV A,R5 ;地址字节ACALL SendByte1 ;发送MOV A,R6 ;数据字节ACALL SendByte1 ;发送CLR SD ;;ACALL Delay10uSSETB CLK ;ACALL Delay10uSSETB sd ;产生停止条件ACALL Delay10uS ;ACCPOPRET;**************发送字节子程序****************SendByte1:PUSH 03HMOV R3,#8 ;位计数器SendLoop:RRC AMOV SD,C ;送1位到数据线上ACALL Delay10uS ;SETB CLKACALL Delay10uS ;CLR CLKDJNZ R3,SendLoop ;送完了吗?03HPOPRET;********************************************;R2--字节数, R5--起始地址,@R0--返回数据;********************************************Remm:PUSH 04H ;读主存储器MOV R4,#30hPUSH 03HPUSH 02HPUSH 00HAcall SendComm ;调用发送命令子程序Remm2:ACLRMOV R3,#8 ;8个bitRemm1:CLKCLRNOP ;延时4msNOPNOPNOPSETB SD ;取出这1位NOPMOV C,SDRRC ANOPNOPSETB CLKACALL Delay10uS ;DJNZ R3,Remm1 ;8位完了吗?MOV @R0,a ;取出这个字节INC R0DJNZ R2,Remm2 ;完了吗?ACALL Break ;中止00HPOPPOP02H03HPOPPOP04HRET;***************中止子程序*******************Break:CLR CLKACALL Delay10uSSETB RSTACALL Delay10uSCLR RSTRET;************************************************************************** ;复位及复位应答子程序;读出卡内前4个字节存在(@R0,@(R0+1),@(R0+2),@(R0+3))中;这4个字节是卡的信息用来判断卡的来源以及合法性;************************************************************************** Anrst:PUSH 00HPUSH ByteCntPUSH BitCntPUSH PSWMOV R0,#ReadBufCLR ASETB RST ;拉高复位线ACALL Delay10uSSETB CLK ;拉高时钟线ACALL Delay10uS;拉低时钟线CLR CLKACALL Delay10uS;拉低复位线CLR RSTMOV ByteCnt,#4 ;4个字节Anrst1:MOV BitCnt,#8 ;8个bitAnrst2:ACALL Delay10uSSETB CLKSETB SDNOPNOPMOV C,SDRRC AACALL Delay10uSCLR CLKDJNZ BitCnt,Anrst2 ;8读完了吗?bitMOV @R0,A ;保存INC R0 ;下1字节;4个字节完了吗?DJNZ ByteCnt,Anrst1MOV R0,#ReadBuf ;准备核对卡内信息MOV A,@R0CJNE A,#Idetify1,CardErr ;第1字节相同吗?INC R0 ;下1字节MOV A,@R0CJNE A,#Idetify2,CardErr ;第2字节相同吗?INC R0 ;下1字节MOV A,@R0CJNE A,#Idetify3,CardErr ;第3字节相同吗?INC R0 ;下1字节MOV A,@R0CJNE A,#Idetify4,CardErr ;第4字节相同吗?MOV A,#00H ;全相同,合法卡,ACC中返回0AJMP Anrstend ;CardErr:MOV A,#01H ;不同,非法卡ACC中返回01Anrstend:PSWPOPBitCntPOPByteCntPOP00hPOPRET;*************延时10微秒子程序**************Delay10uS:PUSH 07HMOV R7,#03HDJNZ R7,$POP07HRET三测试及现象上电后系统(锁)复位处于默认状态其中信息包括当前是比较状态即非学习状态错误次数为0当前用户卡号为默认卡号(程序中设为全EEH)所有指示灯熄灭此时应该先重新设定用户卡号先插入客户卡学习状态指示灯STUDY(红)点亮等待下一步操作拔出客户卡插入用户卡学习状态指示灯STUDY熄灭学习成功拔出用户卡再次插入则可以看到锁指示灯LOCK(绿)闪烁表示已经开锁开锁后锁恢复正常状态如复位后不学习就插入用户卡或者在学习后插入了非设定用户卡则可以看到非法卡指示灯INV ALID(黄)闪烁若连续3次(程序中设定)非法卡插入则可以看到死锁指示灯DEAD(红)亮死锁以后只有插入超级卡才可以开锁若插入超级卡可以看到死锁指示灯DEAD熄灭同时开锁指示灯LOCK闪烁锁恢复正常状态如果需要开锁后锁能够回锁可作如下改动另外用1个I/O口来示意假如P0.5定义为BackLock其接法和其它指示灯一样在开锁后加上CLR BackLockACALL DELAYSETB BackLock 即可这样开锁程序就变为Open_Lock:CLR Lock ;开锁SETB Dead ;关闭死锁指示灯ACALL DELAY ;延时SETB Lock ;关闭开锁指示灯CLR BackLockACALL DELAYSETB BackLock。
iLOCK型计算机联锁系统的自动化测试设计
• 200•近几年iLOCK 型计算机联锁系统的集成测试以手动测试为主,计算机联锁作为铁路安全高效行车的核心控制系统,对其安全性进行充分测试无疑是给手动测试带来强大的压力和考验。
iLOCK 型计算机联锁系统还具有与外部系统丰富的接口类型,以满足多种铁路安全协议通信。
其测试的难点有:如何建立一套完善适应性强的继电接口模拟系统,如何在众多测试资源中快速更换测试环境,面对丰富的信息交互如何快速准确的分析测试结果,之后又如何提高测试执行效率。
本文提出的自动化测试设计将解决以上问题。
1 测试系统架构集成测试一直是测试领域占用资源最多的阶段,测试环境最复杂,结合iLOCK 性计算机联锁系统测试的难点,设计如图1测试系统架构。
被测对象iLOCK 型计算机联锁系统(iLOCK-IPS ),室外继电接口模拟系统由PLC 控制台(PLC Control ,简称PLCC )和PLC 执行单元(PLC Execution Unit ,简称PLCEU )组成,通过网络用手动烧录的方式,更换软件或数据配置时首先需要取出芯片,在机器上烧录后再将芯片放回板卡。
而A TP 提供在线烧录方式,在iLOCK-IPS 上电时通过网络更新软件和数据配置。
iLOCK-IPS 继电接口和硬件驱动采集板卡直接相关,在不同的站中,所需要的板卡数据和位置都是不同的,手动测试每次都依照硬件板卡配置文件,一块一块板卡比对或更换,更是有大型站时,需要搭建10个机笼,每个机笼12到13块板卡,并人工核对板卡位置,当更换站场数据时,仅更换硬件板卡都已消耗不少时间。
iLOCK-IPS 继电接口在后期项目集成测试时会进行点对点测试,因此在自动化测试中继电接口板卡位置测试可不作为重点,这样在自动部署中调整硬件板卡配置让其适应目前板卡位置,节省更换板卡所耗时间。
按照这个设计思路,ATP 首先是调整硬件板卡配置,并部署PLCC 环境,让其根据新硬件配置控制PLCEU 。
码流锁定PAT、PMT的重要性探究
码流锁定PAT、PMT的重要性探究作者:***来源:《卫星电视与宽带多媒体》2021年第09期【摘要】随着广播电视的发展,国内很多省市已经完成了从模拟电视到数字电视的转变,信号大多以光纤为媒介的方式进行传输。
数字电视中会有很多PAT、PMT等各种表,对节目的传输和接收起到关键的作用,在广电前端,对码流的规范,码流中表值、PID及其中数据以及所传送节目视频PID、音频PID等值的固定对用户的接收和观看尤其重要。
本文以常州白金汉爵酒店数字电视建造工程运行过程中遇到的这方面问题进行分析和探讨广电前端码流锁定PAT、PMT的重要性。
【關键词】视频PID;音频PID;PAT;PMT;码流规范;数字电视建造中图分类号:TN929 文献标识码:A DOI:10.12246/j.issn.1673-0348.2021.09..0091. 酒店电视系统介绍酒店数字电视建造工程分为有线数字电视、卫星数字电视和自办节目三部分组成。
酒店有独立的电视机房,机房安装有光收机接入常州广电有线电视信号,之后通过接收板卡配以解密卡将广电加密信号解码后通过ASI的方式传送至调制器重新调制输出如图1所示。
卫星节目通过九州接收机配以中视的卫星解密卡解码后输出HDMI信号至编码器编码后通过ASI的方式传送至调制器。
酒店自办节目存储在U盘中,使用播放器加U盘的方式播放,输出HDMI信号至编码器编码后通过ASI的方式传送至调制器。
最后在调制器里整合复用后重新调制输出,并在电视机房通过放大器将重新调制好的信号放大后送至终端客房供客户收看。
2. 问题分析酒店数字电视项目建成运行一段时间后,终端电视机收看节目出现如下问题:有视频无音频、有音频无视频、无视频无音频。
因为每做一个新项目工程师多会做一张节目配置表并予以保存(包括节目名、节目的输入频点、输出的组播地址、节目的service ID、视频PID、音频PID、PMT PID、输出频点等等)如图2所示将有问题的节目通过录制码流分析后分析并以配置表为标准进行对比,发现前后视频PID,音频PID等有变化,于是通过在解码器的复用功能和调制器的复用功能里将问题节目的音视频PID重新编辑更改为上一次的音视频PID得以解决问题。
基于ST平台TCP_IP门禁控制器方案设计
基于ST平台TCP/IP门禁控制器方案设计发布时间:2021-07-01T16:18:35.840Z 来源:《科学与技术》2021年第29卷第7期作者:张进嵩[导读] 从安防门禁进入电子时代开始,人们就开始使用电子磁卡锁、电子密码锁。
随着这两种电子锁的不断使用,张进嵩深圳源动创新科技有限公司深圳市 518000 摘要:从安防门禁进入电子时代开始,人们就开始使用电子磁卡锁、电子密码锁。
随着这两种电子锁的不断使用,自身的问题被逐渐暴露出来,其中故障率高,安全系数低是主要问题。
密码锁存在的问题是:密码很容易泄露,并且一旦忘记就很难找回来;电子磁卡锁存在的问题是信息容易复制,存储量小,卡片易磨损,使用寿命短,而且读卡器和控制部分一起安装在门上,就导致在户外也很容易打开锁,保密性较差,加上电子磁卡锁的门把长时间使用容易折断,会出现更换不方便等问题。
此时的门禁系统又还处于不成熟阶段,应用并不广泛。
随着社会的不断发展,人们对访问控制系统的需求不再局限于单一的访问控制,而是要求系统具有考勤管理、智能建筑和其他控制功能,对系统与远程控制功能的集成有着非常明确的要求。
在此背景下,基于ST平台TCP/IP门禁控制器应运而生,其中STM32F107是意法半导体推出ST-M3互连型(Connectivity) 系列微控制器中的一款性能较强产品,此芯片集成了各种高性能工业标准接口,其成本低且产品在引脚和软件上具有完美的兼容性,可以轻松适应更多的应用,因为属于中低端产品,所以适用于广大群众。
关键词:STM32F107;门禁系统;门禁控制;TCP/IP;引言:随着社会的进步,人们的生活环境质量不断提升,智能建筑将会在未来的城市建设中发挥重要的作用。
其中门禁系统是智能建筑的重要组成部分。
它不仅可以有效的防止非小区人员的随意进入,还可以进行实时监控和记录。
随着信息化、数字化、智能化的发展,嵌入式系统技术也获得了广阔的发展空间,如果面向网络、面向特定应用,嵌入式操作系统将具有网络接入功能,提供TCP/IP协议支持。
第一部分:iLOCK型计算机联锁系统
第一部分:iLOCK型计算机联锁系统卡斯柯信号有限公司荣誉出品【导读】简 介 系统组成系统方案 系统特点系统认证一、【简介】iLOCK型计算机联锁系统是卡斯柯信号有限公司引进法国ALSTOM公司SMARTLOCK系统核心技术,并进行了国产化开发的“二乘二取二”系统。
iLOCK Computer-Based Interlocking System is a “2oo2X2” system developed by CASCO Signal Ltd on the basis of the core technology of SMARTLOCK introduced from ALSTOM.iLOCK系统在一般的“二取二”硬件冗余结构基础上,采用NISAL专利技术,增加了独立的“故障-安全”校验用CPU模块,使系统比一般的“二取二”具有更高的安全性。
iLOCK system applies NISAL patent technologies. An independent “failure-safe”checking CPU module is added to the normal “2oo2”hardware-redundant configurations to ensure higher safety than normal “2oo2” systems.iLOCK系统的联锁功能、系统可靠性、可维护性、系统带载能力及系统抗干扰能力等,均满足铁道部相关标准和现场的实际需要;系统具备现场仿真测试接口、出厂测试接口;系统的软件及系统硬件的防雷和电磁兼容特性等,均通过了铁道部的测试。
The functions of interlocking, reliability, maintainability, loading capacity and anti-interference capability of iLOCK system all conform with relevant standards of MOR as well as actual requirements of the site; The system is provided with interfaces of on-site simulation test and ex-works test; The lightening protection capability and EMC of both the software and hardware of the system have passed the test of MOR.二、【系统组成】图一:iLOCK系统构成示意图/Layout of iLOCK System Configuration 1.联锁处理子系统(IPS)图二:二取二联锁机工作原理示意图/Diagram of 2oo2 IPS Working Principle 1) IPS二取二联锁计算机IPS是整个iLOCK系统的核心,它由两套“二取二组合故障安全” 加“NISAL 反应故障安全”专用联锁机(IPSA和IPSB)组成;每个联锁机(即每个单系)均采用“二取二”的结构,双CPU独立运算,两个CPU运算采用的安全采集数据、安全输出数据、安全通信数据和中间数据均互相独立、互不相同;两个CPU 之间通过数据比较、同步比较、结果比较等,只有运算结果相同时,才允许输出;根据需要,联锁机可以分中央逻辑控制器(CLC)和区域逻辑控制器(ZLC),实现“具备现地应急控制能力的区域计算机联锁”。
浅谈iLock联锁处理子系统(IPS)
浅谈iLock联锁处理子系统(IPS)于俊波【摘要】对iLock联锁处理子系统( IPS)进行了阐述,分析了系统的构成及特点,从“2取2组合故障安全”加“NISAL反应故障安全”的专用联锁机( IPSA和IPSB)两个大方面系统进行叙述,做出了IPS联锁处理子系统软件应用分析。
【期刊名称】《技术与市场》【年(卷),期】2014(000)006【总页数】2页(P186-187)【关键词】iLock;IPS联锁;2*2取2【作者】于俊波【作者单位】中铁七局电务公司,河南郑州450002【正文语种】中文0 引言IPS是整个iLock系统的核心,它由两套“2取2组合故障安全”加“NISAL反应故障安全”的专用联锁机(IPSA和IPSB)组成,根据需要可以分中央逻辑控制(CLC)和区域逻辑控制(ZLC)的分层结构。
1 IPS包括下列几种印制电路板安全逻辑运算板(VLE),安全校验板(VPS)输入输出总线接口板(I/OBUS2),输入输出总线扩展板(I/OBE2),双采安全型输入板(VIIB),安全型双断输出板(VOOB),安全数据处理板(CPU/PD1),母板(MB)1)VLE板是整个联锁处理子系统的核心。
包括通过I/O选址读取输入/输出信息、进行联锁运算、与MMI、SDM、其他iLock系统通信等。
对于大型联锁车站或有光通信的车站,为了缓解VLE板的通信压力,其中的安全通信由CPU/PD1板完成。
VLE板通过总线与VPS板、CPU/PD1板通信。
2)VPS板是iLock系统的安全型监视机构,独立于VLE板,面对系统进行全面的安全检查。
它以一定的间隔接收到一组编码检查信息,如经检查这组信息正确,则输出一个安全型数字信号,这个信号通过一个安全型滤波器滤波并用于励磁一个安全型继电器VRD,用以证明系统自检正常。
所有通向iL-ock系统的安全型输出的电源都经过该继电器VRD的前接点。
当发现系统有错误时,VRD继电器立即失磁,然后这个安全型继电器将会切断iLock所有的安全型输出的电源。
FB148_PLC系统启动去钝模块
FB148_PLC系统启动去钝模块最新增加: 2016.3.232015年最新的FB148程序多了一个管角用于”反馈设备请求可以进行去钝”.IF AC AND (ACKR OR NOT CFG.X3) THEN -通过CFG.X3=1激活ACKR状态反馈dwVisuwert6.B3 := 2; -AC与ACKR都有-此时WINCC按钮是绿色ELSIF NOT AC AND (ACKR OR NOT CFG.X3) THEN –有ACKR没有AC时dwVisuwert6.B3 := 3;-AC没有,ACKR有-此时WINCC按钮的颜色控制ELSIF NOT AC AND NOT ACKR AND CFG.X3 THEN -AC有与ACKR没有时通过CFG.X3=0激活ACKR和AC在WINCC按钮上的报警提示dwVisuwert6.B3 := 4; -AC没有,ACKR没有-此时WINCC按钮的颜色控制ELSE -其他情况-dwVisuwert6.B3 := 0;END_IF程序开始:CASE iCPU_Zyklus_Zaehler OF1: xPN_0294 := TRUE; -执行SFC51 - IO控制器系统的中央机架/站中的机架的实际状态IF xPN_0294 THEN–读取网络中实际有的站的状态ergSFC51_1 := RDSYSST(REQ := xPN_0294,读取PLC的IO控制器状态SZL_ID:= W#16#0294,INDEX :=wIO_System,BUSY := xBUSY_PN_Ist, -=TRUE证明还没有读完SZL_HEADER := SZL_HEADER,DR := IST_0294 );END_IF;xPN_0694 := FALSE;xPN_0794 := FALSE;xSchleife_aktive := FALSE;xErstaufruf_CASE_Zeile := FALSE;iCPU_Zyklus_Zaehler := 2; -去第2步2: IF NOT xBUSY_PN_Ist THEN -保证读取完毕才能去第3 步xPN_0294 := FALSE;iCPU_Zyklus_Zaehler := 3;END_IF;3: xPN_0694 := TRUE;-执行SFC51-IO控制器系统的中央机架/站中的扩展单元的诊断状态IF xPN_0694 THENergSFC51_2 := RDSYSST(REQ := xPN_0694,SZL_ID := W#16#0694,INDEX :=wIO_System,BUSY := xBUSY_PN_Diag, =TRUE证明还没有读完SZL_HEADER := SZL_HEADER,DR := DIAG_0694);xPN_0294 := FALSE;xPN_0794 := FALSE;iCPU_Zyklus_Zaehler := 4;4: IF NOT xBUSY_PN_Diag THEN -保证读取完毕才能去第5步xPN_0694 := FALSE;iCPU_Zyklus_Zaehler := 5;END_IF;5: xPN_0794 := TRUE; -执行SFC51-IO控制系统的中央机架/站中的机架的维护状态IF xPN_0794 THENergSFC51_3 := RDSYSST(REQ := xPN_0794,SZL_ID := W#16#0794,INDEX :=wIO_System,BUSY :=xBUSY_PN_Wart,SZL_HEADER := SZL_HEADER,DR := WART_0794);END_IF;xPN_0294 := FALSE;xPN_0694 := FALSE;iCPU_Zyklus_Zaehler := 6;6: IF NOT xBUSY_PN_Wart THEN 保证读取完毕才能去第7步xPN_0794 := FALSE;iCPU_Zyklus_Zaehler := 7;iPN_Ist_Speicher := 0; -初始化下一步的变量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ArrayTCP and KernelAPI Locking Strategy
The goal of this locking design is to allow any one ArrayTCP thread to suspend all other ArrayTCP threads in the event a KernelAPI operation (configuration change) is received. Stopping the other threads is necessary because configuration changes often invalidate the running state. The primary consideration of the design is how to maintain a high level of performance, as a poorly designed locking strategy can impose significant penalties. The initial solution used a single sx lock as the synchronization object. Each ArrayTCP thread would acquire a shared lock on entrance, and release it on exit. If a KernelAPI packet was received, that thread would release the shared lock and acquire an exclusive lock. As other ArrayTCP threads finished, they would release their shared locks and be blocked by the exclusive lock. When the last thread released its shared lock, the thread waiting on the exclusive lock would resume and process the KernelAPI traffic. After it finished, this thread would downgrade to and then release a shared lock, allowing the blocked threads to resume. Although effective, this approach resulted in a 40% hit to performance due to the constant locking and unlocking of the sx lock.
For the new design, four global variables are used as synchronization objects: ∙ A shared/exclusive lock config_sx held by ArrayTCP threads.
∙An integer value kAPI_flag used as a checking flag.
∙ A conditional variable config_cv used as a signaler.
∙ A mutex lock cv_mtx used to protect the config_cv.
The key realization leading to the new design is that the penalty lies in constantly locking and unlocking the sx lock, not in actually having the lock itself. Therefore the new design holds a read lock on the sx lock in the common case, rather than not holding it. Only when a KernelAPI operation is detected do the threads release then reacquire their locks. This flip in logic results in the common case not having any locking operations, and is identical to the case where no locks are used at all. However, it does add the requirement for another method of synchronizing the threads, resulting in the three added variables. The usage of these variables and the synchronization details are shown below.
State transition diagram for ArrayTCP/KernelAPI locking.。