|
|
// 称重系统 IDL 定义文件
|
|
|
// 用于 DDS 数据分发服务
|
|
|
|
|
|
module WeighingSystem {
|
|
|
|
|
|
// ============================================
|
|
|
// Topic: onScaleInfoUpdate
|
|
|
// 称重设备信息更新主题
|
|
|
// ============================================
|
|
|
struct ScaleInfo {
|
|
|
boolean HasVehicle; // 有车 0:无车 1:有车
|
|
|
boolean WeightOK; // 重量稳定信号 0: 不稳定 1:稳定
|
|
|
boolean State; // 设备状态 0:异常仪表 1:正常接收仪表
|
|
|
float Value; // 实时重量
|
|
|
float StableValue; // 稳定重量
|
|
|
};
|
|
|
|
|
|
|
|
|
// ============================================
|
|
|
// Topic: onScaleCommandUpdate
|
|
|
// 称重设备命令更新主题
|
|
|
// ============================================
|
|
|
struct ScaleCommand {
|
|
|
boolean Enable; // 是否启用 启动参数
|
|
|
long ResetZero; // 仪表重置0 脉冲信号 1:清零 自动变0
|
|
|
};
|
|
|
|
|
|
|
|
|
// ============================================
|
|
|
// Topic: onWeightInfoOKUpdate
|
|
|
// 称重业务成功信息更新主题
|
|
|
// ============================================
|
|
|
struct WeightInfoOk {
|
|
|
// 基础信息属性
|
|
|
long DeviceID; // 磅称编号
|
|
|
string DeviceName; // 磅称名称
|
|
|
string DeviceType; // 磅称类型 1:重磅 2:轻磅 3:通用称重 4:转煤
|
|
|
string EnterpriseName; // 本系统企业名称
|
|
|
|
|
|
// 业务单据属性
|
|
|
string BillNumber; // 票据号
|
|
|
string CarNumber; // 车牌号
|
|
|
string Supplier; // 往来单位
|
|
|
string GoodsType; // 品种
|
|
|
|
|
|
// 重量数据属性
|
|
|
float GrossWeight; // 毛重
|
|
|
string GrossTime; // 毛重时间
|
|
|
string GrossOperater; // 毛重操作员
|
|
|
float Tare; // 皮重
|
|
|
string TareTime; // 皮重时间
|
|
|
string TareOperater; // 皮重操作员
|
|
|
float Suttle; // 净重
|
|
|
|
|
|
// 扣重属性
|
|
|
float duduction1; // 扣矸 大宗物资扣吨打印
|
|
|
float duduction2; // 扣水 大宗物资扣钱打印
|
|
|
float duduction3; // 扣杂
|
|
|
|
|
|
|
|
|
// 物流信息属性
|
|
|
string INCoalYard; // 卸货点
|
|
|
string OutCoalYard; // 装货点
|
|
|
string BatchNumber; // 批次号
|
|
|
|
|
|
// 操作结果提示属性
|
|
|
string Warning; // 提示 字符串
|
|
|
|
|
|
// 打印磅单相关
|
|
|
string TicketType; // 磅单类型 1:一次称重 2:二次称重
|
|
|
boolean IsPrintTicker; // 是否打印磅单
|
|
|
};
|
|
|
|
|
|
// ============================================
|
|
|
// Topic: onWeightInfoErrorUpdate
|
|
|
// 称重业务成功信息更新主题
|
|
|
// ============================================
|
|
|
struct WeightInfoError {
|
|
|
//车牌
|
|
|
string CarNumber; // 车牌号
|
|
|
// 操作结果提示属性
|
|
|
string Warning; // 提示 字符串
|
|
|
|
|
|
};
|
|
|
|
|
|
// ============================================
|
|
|
// Topic: onBarCommandUpdate
|
|
|
// 拦车器命令更新主题
|
|
|
// ============================================
|
|
|
struct BarCommandUpdate {
|
|
|
// 前拦车器控制
|
|
|
long FrontBarSignalUp; // 前拦车器抬起信号 脉冲信号 1-》0 发1 自动置为0
|
|
|
long FrontBarSignalDown; // 前拦车器放下信号 脉冲信号 1-》0 发1 自动置为0
|
|
|
boolean FrontBarEnable; // 前拦车器是否启用 1: 启用 0: 不启用
|
|
|
|
|
|
// 后拦车器控制
|
|
|
long BackBarSignalUp; // 后拦车器抬起信号 脉冲信号 1-》0 发1 自动置为0 (属性ID: 7)
|
|
|
long BackBarSignalDown; // 后拦车器放下信号 脉冲信号 1-》0 发1 自动置为0
|
|
|
boolean BackBarEnable; // 后拦车器是否启用 1: 启用 0: 不启用
|
|
|
|
|
|
};
|
|
|
|
|
|
// ============================================
|
|
|
// Topic: onLightsCommandUpdate
|
|
|
// 红绿灯命令更新主题
|
|
|
// ============================================
|
|
|
struct LightsCommandUpdate {
|
|
|
// 前红绿灯控制
|
|
|
long FrontLEDSignal; // 前红绿灯信号 1.红 2.绿
|
|
|
boolean FrontLEDEnable; // 前红绿灯是否启用 1: 启用 0: 不启用
|
|
|
|
|
|
// 后红绿灯控制
|
|
|
long BackLEDSignal; // 后红绿灯信号 1.红 2.绿
|
|
|
long BackLEDEnable; // 后红绿灯是否启用 1: 启用 0: 不启用
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// ============================================
|
|
|
// Topic: InfraredCommandUpdate
|
|
|
// 拦车器与红绿灯命令更新主题
|
|
|
// ============================================
|
|
|
struct InfraredCommandUpdate {
|
|
|
// 前红外对射控制
|
|
|
long FrontResistanceUnLock; // 前红外对射临时解除 1.解除 0.不解除
|
|
|
boolean FrontResistanceEnable; // 前红外对射启用 1: 启用 0: 不启用
|
|
|
|
|
|
// 后红外对射控制
|
|
|
long BackResistanceUnLock; // 后红外对射临时解除 1.解除 0.不解除
|
|
|
boolean BackResistanceEnable; // 后红外对射启用 1: 启用 0: 不启用
|
|
|
};
|
|
|
|
|
|
|
|
|
// ============================================
|
|
|
// Topic: onBarUpdate
|
|
|
// 拦车器更新主题
|
|
|
// ============================================
|
|
|
struct BarUpdate {
|
|
|
// 前拦车器状态
|
|
|
long FrontBarState; // 1 抬起状态 2 放下状态
|
|
|
// 后拦车器状态
|
|
|
long BackBarState; // 1 抬起状态 2 放下状态
|
|
|
};
|
|
|
|
|
|
// ============================================
|
|
|
// Topic: onLightsUpdate
|
|
|
// 红绿灯状态更新主题
|
|
|
// ============================================
|
|
|
struct LightsUpdate {
|
|
|
// 前红绿灯状态
|
|
|
long FrontLEDState; // 1.红 2.绿
|
|
|
|
|
|
// 后红绿灯状态
|
|
|
long BackLEDState; // 1.红 2.绿
|
|
|
};
|
|
|
|
|
|
// ============================================
|
|
|
// Topic: onInfraredUpdate
|
|
|
// 拦车器与红绿灯状态更新主题
|
|
|
// ============================================
|
|
|
struct InfraredUpdate {
|
|
|
// 前红外对射状态
|
|
|
long FrontResistanceSignal; // 1 有阻挡 0 无阻挡
|
|
|
|
|
|
// 后红外对射状态
|
|
|
long BackResistanceSignal; // 1 有阻挡 0 无阻挡
|
|
|
};
|
|
|
|
|
|
// ============================================
|
|
|
// Topic: LicenseSnap
|
|
|
// 车牌识别类
|
|
|
// ============================================
|
|
|
struct LicenseSnapUpdate {
|
|
|
long NewTag; // 车牌更新 1 新的 2 旧的不变
|
|
|
string License; // 车牌号
|
|
|
};
|
|
|
|
|
|
// ============================================
|
|
|
// Topic: LicenseSnap
|
|
|
// 语音播放ID
|
|
|
// ============================================
|
|
|
struct Voice {
|
|
|
long VoiceID; //语音ID
|
|
|
string VoiceContent; //语音string,后续如果可以程序用tts直接播放语音内容
|
|
|
};
|
|
|
|
|
|
// ============================================
|
|
|
// Topic: SummaryUpdate
|
|
|
// 称重类
|
|
|
// ============================================
|
|
|
struct SummaryUpdate {
|
|
|
string License; // 车牌号
|
|
|
float StableValue; // 稳定重量
|
|
|
};
|
|
|
};
|
|
|
|
|
|
module InternalSystem
|
|
|
{
|
|
|
struct PrintReq
|
|
|
{
|
|
|
unsigned long index;
|
|
|
map<string, string> msg;
|
|
|
};
|
|
|
|
|
|
struct PrintRsp
|
|
|
{
|
|
|
unsigned long index;
|
|
|
string msg;
|
|
|
};
|
|
|
|
|
|
struct IoCtrlReq
|
|
|
{
|
|
|
unsigned long index;
|
|
|
map<string, string> msg;
|
|
|
};
|
|
|
|
|
|
struct IoCtrlRsp
|
|
|
{
|
|
|
unsigned long index;
|
|
|
map<string, string> msg;
|
|
|
};
|
|
|
}; |