么,延时后,再发一次。如果连续三次发送都发生了错误,那么,给出错误的就餐机号,并且向下一个就餐机发送数据。定时器的初始化为: timer1.Interval=50 *定时时间间隔为50ms timer1.ensbled=.f.先关超时定时器1 在Command1的Click 事件中通过调用外部过程program2向就餐机发送地址(即机号),和要求就餐机向主机传送就餐数据的命令。Program2的程序为: procedure programe2 *发送机号 表单js.olecontrol1.RThreshold=0 表单js.olecontrol1.Settings="2400,m,8,1" jh2=chr(jh2) 表单js.olecontrol1.OutPut=jh2 *发送命令 表单js.olecontrol1.Settings="2400,s,8,1" 表单js.olecontrol1.OutPut="E" 表单js.olecontrol1.InbufferCount=0 表单js.olecontrol1.OutbufferCount=0 表单js.olecontrol1.RThreshold=1 表单js.timer1.enabled=.t. return 具体为:首先在发送数据之前设置OLECONTROLL的Rthreshold为0,禁止对发送事件产生ONCOMM事件,防止主机接收自己的数据。在发送一个字节的机号时,设settings表单js.olecontrol1.Settings="2400,m,8,1" 即校验位为mark:‘1’,代表地址字节,以校验位作为识别地址的标志。在发送完机号后,设置settings为: 表单js.olecontrol1.Settings="2400,s,8,1 即校验位为space:‘0’,表示发送的一个字节E是要求就餐机开始向主机传送就餐数据的命令。主机向就餐机发送数据的方法是应用通信控件的OUTPUT函数,即为表单js.olecontrol1.OutPut="E"。在发送完命令后,要清控主机的发送和接收缓冲区,即令: 表单js.olecontrol1.InbufferCount=0 表单js.olecontrol1.OutbufferCount=0 同时,使控件的Rthreshold有效,等待接收就餐机发来的数据,另外要打开超时定时器即令表单js.timer1.enabled=.t.,以判断就餐机是否正常。在OleControl1的OnComm事件中,首先判断控件的属性CommEvent=2,表示收到 Rthreshold 个字符。该事件将持续产生直到用 Input 属性从接收缓冲区中删除数据。然后接收从串口来的就餐数据和校验和,就餐机发送完数据后紧接着发送一个F,表示数据发送完毕。如果主机接收正确向就餐机发送一个G。延时后与下一台就餐机通信。接收后的数据临时存贮在表JCJ中,等待处理。如果主机接收不正确向就餐机发送一个H。 主机与就餐机的通信成功与否,在超时定时器的ONTIMER事件进行判断,其工作方法在前面已说明。 4 结束语 前面比较详细的介绍了主机接收就餐机数据的程序设计过程和方法,至于主机向就餐机发送挂失卡号和发卡初始化新卡的通信程序的设计原理是相同的。只是发卡时,因为一次通信要传输的数据量很小,卡号金额均为10个字符,对通信结果成功与否的判断,没有使用求校验和的方法,采取了连续传输3次, 在3中取2的措施,这样更可靠。
参考文献 [1]ATMEL CORPORATION, U2270B ANTENNA DESIGN HINTS,1999 [2]ATMEL CORPORATION, TK5550 DATA SHEET,1999 [3]ATEN International Co. , LTD, The IC-485SN Converter User Manual, Taiwan, 1999 [4]Small D., “The potential of RFID is finally areality”,Industrial Engineering, Vol 24 Iss: 10 p.46-7,Data:Oct.1992 [5]美国爱特梅尔(ATMEL)公司,IC智能卡技术手册,1999年4月 [6]刘立康, 用vb5.0实现与单片机串行通信的程序设计,微计算机信息,1999年第15卷第3期 [7]范逸之, Visual Basic 与 RS-232 串行通信控制, 中国青年出版社, 2000年8月 [8]夏海燕、罗家融、王玲,运行VB的MSCOMM控件实现一机对多机数据通信的实例, 微计算机信息,1999年第4期 [9]周捷、张为公, WINDOWS95环境下利用VISUAL C++实现微机与GPS-OEM板的串行通信, 电子技术应用, 1998年第11期 [10]陈坚、孙志月, MODEM通信编程技术, 西安电子科技出版社, 1998年 [11]彭江平、王毅、李静、倪芳,Visual Foxpro 5.0面向对象程序设计祥解及实例,人民邮电出版社,1998年 [12]姜灵敏、彭江平、毛锦云,Visual Foxpro 5.0程序设计入门,人民邮电出版社,1998年 上一页 [1] [2]
Tags:
|