找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
小程序查看
手机扫码追踪该问题
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
你说的问题是你自己的程序造成的。
整型数据对应关系如下:
VC PLC
short INT
int DINT
long DINT
VC需要用ntohs(),ntohl(),htons(),htonl()进行装换
字符类型对应关系如下:
VC PLC
1 char CHAR
2 char[20] ARRAY[0..19] CHAR
3 char[22] STRING[20]
注:3 char[0]=20 char[1]=实际字符串长度
例如
PLC端
MD STRUCT
MD ARRAY[0..1] 'M', 'D'
CHAR
Spares ARRAY[0..1]
CHAR
PlateID STRING[16] ''
PlateQuality STRING[10] ''
Length DINT L#0
Width DINT L#0
PaintSelected INT 0
PunchSelected INT 0
EdgeSelected INT 0
MarkingPosition DINT L#0
Noofrepeat INT 0
Repeatdistance DINT L#0
Compression INT 0
PaintLine1 STRING[50] ''
PaintLine2 STRING[50] ''
PaintLine3 STRING[50] ''
Font INT 0
PlateHardness INT 0
PunchLine1 STRING[30] ''
PunchLine2 STRING[30] ''
CharacterHeight INT 0
BarCodeType INT 0
EdgeText STRING[50] ''
BareCode STRING[16] ''
END_STRUCT
VC端
typedef struct MDTelegram // Marking Data Telegram (MD)
{
// Telegram Header
char MD[2]; //
char Spares[2]; //
// General Info
char PlateID[18]; // 48-57
char PlateQuality[12]; // 20-126
long Length; // 6000-25000
long Width; // 1400-3800
short PaintSelected; // 0-1
short PunchSelected; // 0-1
short EdgeSelected; // 0-1
// Sub 1 Paint Data
long MarkingPosition; // 300-800
short NoOfRepeat; // 0-10
long RepeatDistance; // 3000-15000
short Compression; // 2,3,4,5,7
char PaintLine1[52]; // 32-126 128-250
char PaintLine2[52]; // 32-126 128-250
char PaintLine3[52]; // 32-126
// Sub 1 Punch Data
short Font; // 1-2 Actual font 1=A, 2=B
short PlateHardness; // 0-600
char PunchLine1[32]; // 32-126
char PunchLine2[32]; // 128-250
// Sub 1 Edge
short CharacterHeight; // 1,2,4
short BarCodeType; // 0
char BareCode[18]; // 40-57
char EdgeText[52]; // 32-126
// Total Size: 358 bytes
}MDTELEGRAM;
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!