1.一种模拟现场辐射监测仪表数据反馈的方法,其特征包括以下步骤:
s1、软件界面初始化:创建qfile对象,调用readline()方法逐行读取模拟寄存器和其存储的数据;
s2、读取配置文件:创建qsetting对象,调用其value()方法获取存储基本配置信息的config.ini文件内容;
s3、初始化串口:创建qserialport对象,调用其open(qiodevice::readwrite)方法开启串口;
s4、信号触发:启用connect()信号和槽函数,每当收到数据时自动进行校验、分析和回复;
s5、串口报文校验:使用unsignedchar类型数组w_buff[]将串口数据进行分解暂存,提前校验位前的数据进行crc16校验,与校验位值进行对比,若相等则说明此条报文有效;
s6、报文数据分析:根据标准modbusrtu协议,在w_buff数组的相应位置中提取报文功能区和数据区内容,明确此条报文需求:
s7、报文数据处理:如收到的是多寄存器读取指令,根据数据区内的范围收集界面上相关lineedit控件内的值,整理成标准modbus报文并反馈回串口。
2.根据权利要求1所述的一种模拟现场辐射监测仪表数据反馈的方法,其特征在于,所述步骤s1中,在逐行读取模拟寄存器和其存储的数据时,使用findchildren<qlineedit*>方法遍历所有lineedit控件,将模拟寄存器数据更新至界面上的lineedit控件内,并隐藏多余的控件。
3.根据权利要求1所述的一种模拟现场辐射监测仪表数据反馈的方法,其特征在于,所述步骤s3中,开启串口后,分别调用setbaudrate()、setdatabits()、setparity()、setstopbits()以及setflowcontrol()方法对串口进行初始化配置。
4.根据权利要求1所述的一种模拟现场辐射监测仪表数据反馈的方法,其特征在于,所述步骤s6中,如功能区数据为03时,表示多寄存器读取,读取范围查看数据区内容,如功能区数据为06时,表示单寄存器写入,写入地点和值查看数据区。
5.根据权利要求1所述的一种模拟现场辐射监测仪表数据反馈的方法,其特征在于,所述步骤s7中,如收到的是单寄存器写入指令,则根据数据区内的指定寄存器和值,修改界面上相应lineedit控件内的值,修改成功后回复收到的报文表示修改成功。