上海CPU模块6ES7515-2TN03-0AB0
上海CPU模块6ES7515-2TN03-0AB0上海CPU模块6ES7515-2TN03-0AB0
西门子电源授权代理商,西门子电源分销商,西门子电源分销商,西门子交换机分销商,西门子交换机分销商,西门子交换机一级代理商,西门子交换机代理商,西门子S7-1200系列代理商,西门子S7-1200CPU分销商,西门子S7-1200CPU分销商,西门子S7-1500CPU代理商,西门子S7-1500CPU代理商,
请教我想用自由口写MODBUS ASCII通信。
现在遇到的问题是。我用串口助手以ASCII方式向PLC发“010321000001”,PLC收到的是“3033030303031”,请问我如何将PLC收到的16进制消息,转换成串口助手所发的“010321000001”?
问题补充:
我用MOVE指令将收到的3033030303031转换成字符‘30’ ‘31’ ‘30’ ‘33’ ‘32’ ‘31’ ‘30’ ‘30’ ‘30’ ‘30’ ‘30’ ‘30’ ‘31’,然后用CHARS_TO_STRG指令将上述字符转换成字符串,再用ATH指令将字符串转换成16进制。(经测试上述步骤是可以实现。)
请问我这么做是不是太繁琐了?如果直接用收到的3033030303031减30的话,我考虑可能收到41(A)等字母的话会不会出错。
佳答案
1、如果自己编写转换程序非常简单:将“3033030303031”串中的每两位十六进制数(表示一个字符)与十六进制数30做减法,结果就是“010321000001”。
2、也采用系统功能块FC38 :
FC38 STRNG_I: 将字符串转换为整数。
调用方法见:
<S7-300400的系统软件和标准功能>
发布时间:2023-11-04
展开全文
其他新闻
- 6ES7511-1TL03-0AB0西门子CPU模块 2023-11-04
- 西门子CPU模块6ES7516-3FP03-0AB0 2023-11-04
- 西门子模块CPU供应6ES7515-5FN03-0AB0 2023-11-04
- 6ES7513-1FM03-0AB0升级型号模块 2023-11-04
- 6ES7511-1FL03-0AB0西门子CPU模块 2023-11-04
- 6ES7512-1SM03-0AB0西门子S7-1500模块 2023-11-04
- 上海西门子模块6ES7510-1SK03-0AB0 2023-11-04
- 2023模块参数6ES7132-6BH01-0BA0 2023-11-04
- 6ES7288-3AR02-0AA0模块参数 2023-11-04
- 西门子模块6ES7288-7DP01-0AA0 2023-11-04