﻿{"id":572,"date":"2026-04-27T10:30:04","date_gmt":"2026-04-27T02:30:04","guid":{"rendered":"http:\/\/jngbus.com\/?page_id=572"},"modified":"2026-04-27T10:32:15","modified_gmt":"2026-04-27T02:32:15","slug":"custom-message-sxfy-cpp","status":"publish","type":"page","link":"http:\/\/jngbus.com\/index.php\/custom-message-sxfy-cpp\/","title":{"rendered":"SECS\/GEM\u5904\u7406\u81ea\u5b9a\u4e49\u6d88\u606fSxFy\uff08C++\uff09"},"content":{"rendered":"\n<h1 class=\"wp-block-heading has-x-large-font-size\">1.\u81ea\u5b9a\u4e49\u6307\u4ee4\u53d1\u9001\u548c\u5904\u7406<\/h1>\n\n\n\n<h3 class=\"wp-block-heading\"> \u53d1\u9001\u81ea\u5b9a\u4e49\u6307\u4ee4<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>\u51fd\u6570<\/td><td>RcResult CSecsEquip::SendSecsMsgAsync(int nStream, int nFunction, &nbsp;&nbsp;&nbsp; bool bReply, std::string pData, int64&amp; nMsgID) &nbsp;<\/td><\/tr><tr><td>\u7528\u9014<\/td><td>\u53d1\u9001SECS\u6d88\u606f<\/td><\/tr><tr><td rowspan=\"5\">\u53c2\u6570<\/td><td>nStream\uff1aSECS\u6d88\u606f\u7684\u6d41\u7f16\u53f7\u3002\u4f8b\u5982S1F1<\/td><\/tr><tr><td>nFunction\uff1aSECS\u6d88\u606f\u7684\u529f\u80fd\u7f16\u53f7\u3002\u4f8b\u5982S1F1<\/td><\/tr><tr><td>bReply\uff1a\u662f\u5426\u9700\u8981\u7b54\u590d\u6d88\u606f<\/td><\/tr><tr><td>nMsgID\uff1a\u7528\u4e8e\u5224\u65ad\u5bf9\u65b9\u7b54\u590d\u7684\u6807\u8bc6\u4f4d<\/td><\/tr><tr><td>pDdata\uff1a\u53d1\u9001\u7684\u6570\u636e<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>1.\u4e3b\u52a8\u53d1\u9001SECS\u6d88\u606f\uff0c\u6784\u9020\u6d88\u606f\u4f53\u7684\u4f8b\u5b50<\/p>\n\n\n\n<p>string Code_1 = &#8220;L&#8221;;<\/p>\n\n\n\n<p>string cData1_1 = listJoin(&#8220;A&#8221;, &#8220;2&#8221;);<\/p>\n\n\n\n<p>string cData2_1 = listJoin(&#8220;A&#8221;, &#8220;4&#8221;);<\/p>\n\n\n\n<p>string L12_1 = listJoin(Code_1.c_str(), cData1_1.c_str(), cData2_1.c_str());\/\/\u6700\u91cc\u5c42L2<\/p>\n\n\n\n<p>string Code_2 = &#8220;L&#8221;;<\/p>\n\n\n\n<p>string cData1_2 = listJoin(&#8220;A&#8221;, &#8220;2&#8221;);<\/p>\n\n\n\n<p>string cData2_2 = listJoin(&#8220;A&#8221;, &#8220;4&#8221;);<\/p>\n\n\n\n<p>string L12_2 = listJoin(Code_2.c_str(), cData1_2.c_str(), cData2_2.c_str());\/\/\u6700\u91cc\u5c42L2<\/p>\n\n\n\n<p>string Code_3 = &#8220;L&#8221;;<\/p>\n\n\n\n<p>string cData1_3 = listJoin(&#8220;A&#8221;, &#8220;2&#8221;);<\/p>\n\n\n\n<p>string cData2_3 = listJoin(&#8220;A&#8221;, &#8220;4&#8221;);<\/p>\n\n\n\n<p>string L12_3 = listJoin(Code_3.c_str(), cData1_3.c_str(), cData2_3.c_str());\/\/\u6700\u91cc\u5c42L2<\/p>\n\n\n\n<p>string Code_4 = &#8220;L&#8221;;<\/p>\n\n\n\n<p>string stringData = listJoin(Code_4.c_str(), L12_1.c_str(), L12_2.c_str(), L12_3.c_str());<\/p>\n\n\n\n<p>int64 mesID = 0;<\/p>\n\n\n\n<p>string Code_5 = &#8220;L&#8221;;<\/p>\n\n\n\n<p>string stringData_1 = listJoin(Code_5.c_str(), stringData.c_str());<\/p>\n\n\n\n<p>string pResult = &#8220;&#8221;;<\/p>\n\n\n\n<p>string Code1 = &#8220;L&#8221;;<\/p>\n\n\n\n<p>string A1 = listJoin(&#8220;A&#8221;, &#8220;2&#8221;);<\/p>\n\n\n\n<p>string A2 = listJoin(&#8220;A&#8221;, &#8220;200&#8221;);<\/p>\n\n\n\n<p>2.\u628a\u6574\u4f53\u7684\u7ed3\u6784\u7ec4\u5408\u6210\u5b57\u7b26\u4e32\u8d4b\u503c\u7ed9\u53d8\u91cfpResult<\/p>\n\n\n\n<p>pResult = listJoin(Code1.c_str(), A1.c_str(), A2.c_str(), stringData_1.c_str());\/\/\u6700\u5916\u5c42L3<\/p>\n\n\n\n<p>3.\u628apValue\u8d4b\u503c\u5230\u53d8\u91cfpData\u4e2d<\/p>\n\n\n\n<p>m_pSecs-&gt;SendSecsMsgAsync(6, 3, true, pResult, mesID);<\/p>\n\n\n\n<p>4.\u5f53\u53d1\u9001\u8be5\u6761\u6307\u4ee4\u65f6\uff0c\u4f1a\u53d1\u9001\u4ee5\u4e0b\u6570\u636e<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"554\" height=\"365\" src=\"http:\/\/jngbus.com\/wp-content\/uploads\/2026\/04\/image.gif\" alt=\"\" class=\"wp-image-573\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-x-large-font-size\">2.\u56de\u590d\u81ea\u5b9a\u4e49\u6307\u4ee4<\/h3>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; \u7279\u6b8a\u5730\uff0cHost(MES\/EAP)\u7aef\u4f1a\u5bf9\u6807\u51c6\u6307\u4ee4\u683c\u5f0f\u8fdb\u884c\u589e\u51cf\u64cd\u4f5c\uff0c\u4ee5\u7b26\u5408\u5b9e\u9645\u4f5c\u4e1a\u8981\u6c42\uff0c\u6216\u53d1\u9001\u81ea\u5b9a\u4e49\u7684SxFy\uff0c\u6b64\u65f6Equip\u7aef\u9700\u8981\u5bf9\u975e\u6807\u683c\u5f0f\u89e3\u6790\u3001\u5904\u7406\u548c\u56de\u590d\u3002\u5177\u4f53\u6d41\u7a0b\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p>1.\u6dfb\u52a0\u9700\u8981\u56de\u590d\u7684\u6307\u4ee4<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>\u51fd\u6570<\/td><td>RcResult CSecsEquip::MessageTypeAdd(int nStream, int nFunction, SecsMessageReceiveProc pCallback, void* pClientData)<\/td><\/tr><tr><td>\u7528\u9014<\/td><td>SECS\u6d88\u606f\u7c7b\u578b\u5904\u7406\u6dfb\u52a0<\/td><\/tr><tr><td rowspan=\"4\">\u53c2\u6570<\/td><td>stream\uff1aSECS\u6d88\u606f\u7684\u6d41\u7f16\u53f7\u3002\u4f8b\u5982S1F1<\/td><\/tr><tr><td>function\uff1aSECS\u6d88\u606f\u7684\u529f\u80fd\u7f16\u53f7\u3002\u4f8b\u5982S1F1<\/td><\/tr><tr><td>pCallback\uff1aSecsMessageReceiveProc\u59d4\u6258 SecsMessageReceiveProc\u53c2\u6570\uff1a Stream\uff1aSECS\u6d88\u606f\u7684\u6d41\u7f16\u53f7\u3002\u4f8b\u5982S1F1 Function\uff1aSECS\u6d88\u606f\u7684\u529f\u80fd\u7f16\u53f7\u3002\u4f8b\u5982S1F1 send_reply\uff1a\u662f\u5426\u9700\u8981\u56de\u590d transactionID\uff1a TSN_data\uff1aHost\u53d1\u6765\u7684\u6570\u636e Header\uff1a &nbsp;<\/td><\/tr><tr><td>pClientData<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u4f7f\u7528MessageTypeAdd\u6dfb\u52a0\u9700\u8981\u63a5\u6536\u7684\u6307\u4ee4\uff0c\u4f8b\u5982\u6dfb\u52a0\u201cS5F3\u201d<\/h2>\n\n\n\n<p>MessageTypeAdd(5, 3, OnS5F3Proc, this)<\/p>\n\n\n\n<p>2.\u58f0\u660e\u56de\u8c03\u51fd\u6570\uff1a<\/p>\n\n\n\n<p>\u793a\u4f8b\uff1astatic void OnS5F3Proc(IMCHandle *, int64 stream, int64 function, bool send_reply, int64 transactionID, const char* TSN_data, const char* header, void *clientData)<\/p>\n\n\n\n<p>3.\u5b9a\u4e49\u56de\u8c03\u51fd\u6570\uff1a<\/p>\n\n\n\n<p>\u793a\u4f8b\uff1avoid CTianmaHandle::OnS5F3Proc(IMCHandle *, int64 stream, int64 function, bool send_reply, int64 transactionID, const char* TSN_data, const char* header, void *clientData) {<\/p>\n\n\n\n<p>if (clientData != NULL)<\/p>\n\n\n\n<p>{<\/p>\n\n\n\n<p>&nbsp;CTianmaHandle* pTianmaeHandle = (CTianmaHandle*)clientData; pTianmaeHandle-&gt;OnS5F3Proc(stream, function, send_reply, transactionID, TSN_data, header);<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>4.\u5904\u7406\u56de\u8c03\u51fd\u6570\u5185\u5bb9\uff1a<\/p>\n\n\n\n<p>\u793a\u4f8b\uff1a void CTianmaHandle::OnS5F3Proc(int64 stream, int64 function, bool send_reply, int64 transactionID, const char* TSN_data, const char* header)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1.\u81ea\u5b9a\u4e49\u6307\u4ee4\u53d1\u9001\u548c\u5904\u7406 \u53d1\u9001\u81ea\u5b9a\u4e49\u6307\u4ee4 \u51fd\u6570 RcResult CSecsEquip::SendSecsMs [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-572","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/jngbus.com\/index.php\/wp-json\/wp\/v2\/pages\/572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/jngbus.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/jngbus.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/jngbus.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/jngbus.com\/index.php\/wp-json\/wp\/v2\/comments?post=572"}],"version-history":[{"count":3,"href":"http:\/\/jngbus.com\/index.php\/wp-json\/wp\/v2\/pages\/572\/revisions"}],"predecessor-version":[{"id":578,"href":"http:\/\/jngbus.com\/index.php\/wp-json\/wp\/v2\/pages\/572\/revisions\/578"}],"wp:attachment":[{"href":"http:\/\/jngbus.com\/index.php\/wp-json\/wp\/v2\/media?parent=572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}