Demo for SECS HSMS communication
通讯库支持SECS-I与HSMS两种通讯方式。区别在初始化时,使用不同的参数类型。 其它的函数是一样的。
GemPtr pGem = CGem::GetInstancePtr();
SecsSet sset;
sset.sComName = "COM1";
sset.uBaudrate = 9600;
sset.uDevID = 1;
sset.mode = CSECS_EQUIP;
pGem->InitLink(sset);
HsmsSet set;
set.uLocalPort = 5000;
set.mode = CHSMS_PASSIVE;
set.uDevID = 1;
pGem->InitLink(set);
pGem->SetSecsRecvFun([this](const SecsMessage& msg) {
return handleMessage(msg);
});
pGem->Connect();
ItemPtr iSend = Item::L();
iSend->Append(Item::B(6));
iSend->Append(Item::U2(10));
iSend->Append(Item::A("Fire Alarm"));
SecsMessage smsg{ 5, 1, iSend };
mid = pGem->Send(smsg);
ItemPtr item = Item::L();
item->Append(Item::A("DemoEquip"));
item->Append(Item::A("Rev 1.0"));
SecsMessage rmsg{1, 2, item, msg.MID};
m_pGem->Reply(rmsg);
QQ: 24164068