来源:网络转载更新时间:2021-04-08 17:11:41点击次数:1739次
1、硬件的连接及其设置
1.1TOLEDO8142仪表异歩串行口以及计算机的连线方式
TOLEDO8142仪表采用Intel8031微处理器作为主处理鬍,并且通过仪表内部的软件实现仪表的自检、参数设定、系统校验、净重计算显示与打印输出等功能。8031微处理器设有RXD(接收数据)和TXD(发送数据)的通讯引脚,可以方便地组成RS-232串行接口。
TOLEDO8142仪表的RS-232-C串行接口,其逻辑电平是:"-3V—-15V"为逻辑1,“+3V—+15V”为逻辑0,但"-3V-+3V"之间不作定义电平,打印通讯口JN(DB-25)有关RS-232-C异歩串行接口听引脚定义如下所示:
(1)发送数据(TXD)
(2)接收数据(RXD)
(3)涓除数据(CTS)此信号可控制8142发送数据,如果此线保持-12VDC,8142将无清除发送信号,也不允许发送数据,此线不必保持12VDC以允许发送,如果需要也可保持。
(4)数据设备就绪(DST)本输入线电平可增至QVDC,持续时间300毫秒的脉神以启动数据传送。如果输出为连续方式,状态字C中用于打印按钮的第三位将改变。
(5)逻辑弛(LogicGroundGNd)
(6)数据终端就绪(DTR)此输出信号在8142表通电时为+12VDC。
1.2.8142称重仪表的设置
8142称重仪表串行接口数据输岀方式设为命令方式,并且允许ASCII命令字符远距输入。这样当计算机由串行接口发送一个打印字符合给8142称重仪表的串行接口后,8142称重仪表由串行接口向计算机发送重量数据。
1.3.计算机RS-232-C异步串行接口各引脚定义。
虽然RS-232Y定义25脚的信号标准,但实现异步通信时仅要9个电压信号(其中2个数据信号、6个控制信号、1个信号弛线)。PC,XT机除支持ElA电压接口外,还支持20mA电流环路接口,另需4个电流信号,故它采用DB-25型连接口,与DCE(DateCommunicationEquipment数据通信设备)配置的DB-25型连接器是对应的,在此不再冗述。然而,AT机串行口取消了电流环接口,采用DB-9型连接器(阳插头),其信号需要重新排列,若与DB-25型连接器的DCE设备相接,必须使用专门的电缆,其对应关系是特殊的,DB-9型连接器各引脚定义如下所示,
(1)载波检测(DCD)
(2)振铃指示(RI)
(3)请求发送(RTS)输出线电平一般为T2VDC,在请求数据发送后,输出电压变为+12VDC,持续时间约为500毫秒。
TOLEDO8142仪表与计算机RS-232-C串口连接线只需三线传送数据即可。
2.接口程序(其中包括接口中断初始化及数据接收和保存)
2.1.接口中断初始化(RS-232-C异步串行口通讯程序设计与分析)
以往异步通信编程都是查询I/O方式的。它们共同的特点是CPU每次与UART交换数据之前,都要不断弛监视线路状态寄存器的某些状态位。这使CPU的使用效率大为降低。另外,一旦检测到状态就绪,尤其是接收器数据寄存器就绪,CPU应立即予以接收,否则会引起超越错(发送处理是CPU—方控制其传输速率,故不易带来麻烦)。或者,在正常接受状态下,若接受的字符又送屏幕显示,但波特率为1200或以上,则BIOS屏幕卷页功能(INT10H的AH=7子功能)将来不及处理,使显示缓存溢出。上述向题均起因于异步通信的查询I/O方式,使用下面所要讲的通信中断I/O方式即可顺利解决这些问题。
2.2.异步通信中断程序模式
下面按照前面所述的通信中断程序的特殊性,并结合一殺中断处理的编程原则和方法,提出异歩通信中断编程模式。
2.2.1通信中断初始化流程
该初始化流通常安排在整个通信程序(包括主程序和中断程序)之后,仅装入内存后运行一次。它的工作应包括下面几歩,
①修改中断向量表按使用的串行口COH1或COM2,接管中断0CH或中断0BH,使新的中断向量指向自行编制的通信中断程序。
②确定UART操作方式设置中断允许寄存器相应位的允许或禁止(选择中断源类型),并允许中断操作(1MODEM控制寄存器OUT2有效D3=0)。
③确定UART通信协议设置通信波特率及数据传输格式。
④但开放通信中断对8259A-5中断控制器的屏蔽寄存器编程,允许中断IRQ4或IRQ3O
⑤通信程序运行初始化结束转入主程序处理。
注意:为确保通信中断可靠运行,在上述第⑴一⑷步过程中,应关闭中断。完成初始化之后再开放中断。
2.2.2,通信中断子程序
该子程序是中断处理的核心。它通常可分成如下三段:
⑴判断发生中断的中断源类型通过读取中断标识寄存器的标诅位,查找到相应中断子程序的入口弛址。
⑵各个中断源类型相应的中断处理流程由于不同的中断源类型,其处理过程也不同:
如接收器数据寄存器就绪中断(D2D1D0=100),则从UART数据寄存器读取送到接收队列;
如发送器保持寄存器中断(D2D1D0=010),则从发送队列谀取字符写到UART保持寄存器;
如接收器线路状态中断(D2D1D0=110),则从UART线路状态寄存器读取状态进行分析,根据错误或间断,作出相应的处理;
如MODEM状态变化中断(D2D1D0=000),则从UART的HODEM状态寄存器读取状态进行分析,根据状态变化,作出相应的处理。
(3)判断有否尚待处理的中断,毎种中断源类型处理后要继续判别中断标识寄存器的最低位是否为0。若为0,再输入标识位指示的相应的中断处理。否则,结束中断处理(通常发中断结東命令E0I到中断控制器),并以IRET返回中断的通信子程序。
2.3数据接收、显示和保存
重量数据是由中断接中程序从RS-232接中取得并保存在接收数据缓冲区中的,当有数据从RS-232接口进入计算机时,就会触发上面所说的通信中断子程序,此子程序将所得到的数据存入接收数据缓神区中保存,数据接收程序就节取此缓冲区中的重量数据,并从系统中读取当时的系统时间,将这两个数据转换为可显示的ASCII码字符,并显示于显示区中,当键盘没有任何输入事件发生时,重复上面的数据显示进程。当发生健盘输入事件时,检查是否是按下了F2键,如果不是返回上述进程,如果是F2槌则进入数据保存进程,数据保存进程是将数据保存于一临时数据库中,此数据库只有一个字段,即重量字段,将此数据库打开并将文件指针指于数据库笫一字段前,写入在前面取得的重量数据,最后关闭数据库文件即可。
3数据分时采样、分析及计算程序
3.1数据的分时采样:当重量数据被传送到计算机并保存后,进行计时。当达到预定时间段时间当前重量保存。系统共保存61个分时重量值。
3.2数据分析计算:由于出现情况十分复杂程序中采用了多个数据补偿算法,叙述十分繁琐。在此给岀分析及计算的算法模型,算法模型如下,
由于系统保存有61个分时釆样数据重量值,它们之间都为一个时间单位。这样每隔31个数据就有30个单位时间间隔。这样用笫31采样数据减第一个,笫32采样减笫2釆样……以此类推,所得到31个重量差值,再取平均值。即可得到60个采样的平均熔化率。
结束语
此系统己在生产实际中应用,使用效果较好,达到预期目的。
作者:王岩;孙艺
深圳市卓禾仪器有限公司是一家专门从事称重仪表和全自动包装码垛生产线的研发及生产的高新技术企业,所生产的JY500系列称重显示控制器(包括配料秤仪表、皮带秤仪表、包装秤仪表、重量变送器等)高速高精度,使用寿命长。卓禾仪器有十数年的现场校验经验,在业内有良好的口碑,且有专门的售后工程师帮忙解决产品使用过程中遇到的技术问题,客户可以放心省心顺心的使用我司的产品。如果对我司的产品感兴趣,欢迎咨询。
×