|
@@ -20,6 +20,14 @@ import java.text.ParseException; |
|
|
* @Author: caixiang |
|
|
* @Author: caixiang |
|
|
* @DATE: 2022/1/17 14:20 |
|
|
* @DATE: 2022/1/17 14:20 |
|
|
*/ |
|
|
*/ |
|
|
|
|
|
//tips: 外部使用这个service的read、write操作 要异常捕捉,然后在catch里面 用logger.info("记录下异常。"),这里的异常是不会被捕捉的只会向外抛。 |
|
|
|
|
|
//关于对String、String[]操作需要注意: |
|
|
|
|
|
// ① 单体变量 length 都是1 |
|
|
|
|
|
// ② 数组变量 length 就是 你要read 或者write数组的长度 |
|
|
|
|
|
// ③ bitOffset 是针对Bool 来说的,其他变量bitOffset 都是0 |
|
|
|
|
|
// ④ strSize 这个字段只是给 String变量 和 String[]变量 用的, 这个字段是plc中设置的最大String长度 |
|
|
|
|
|
// ⑤ String类型 在write的时候禁止 write中文,因为plc中编码并没有采用UTF-8 而是采用ASCII |
|
|
|
|
|
// (同理也是,当plc中有设置String类型或者StringArray那么告诉他们必须指定长度 通常他们也会指定长度的。) |
|
|
@Component |
|
|
@Component |
|
|
public class S7Service { |
|
|
public class S7Service { |
|
|
private final Logger logger = LoggerFactory.getLogger(getClass()); |
|
|
private final Logger logger = LoggerFactory.getLogger(getClass()); |
|
@@ -46,7 +54,7 @@ public class S7Service { |
|
|
* Integer(无符号)(后续扩展) |
|
|
* Integer(无符号)(后续扩展) |
|
|
* Char ===> Character |
|
|
* Char ===> Character |
|
|
* WChar ===> Character |
|
|
* WChar ===> Character |
|
|
* String ===> String |
|
|
|
|
|
|
|
|
* String ===> String (特殊) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 数组变量 |
|
|
* 数组变量 |
|
@@ -61,7 +69,7 @@ public class S7Service { |
|
|
* UIntArray ===> List<Integer> |
|
|
* UIntArray ===> List<Integer> |
|
|
* USIntArray ===> List<Integer> |
|
|
* USIntArray ===> List<Integer> |
|
|
* UDIntArray ===> List<Long> |
|
|
* UDIntArray ===> List<Long> |
|
|
* |
|
|
|
|
|
|
|
|
* StringArray ===> String[] (特殊) |
|
|
* |
|
|
* |
|
|
* |
|
|
* |
|
|
* */ |
|
|
* */ |
|
@@ -190,7 +198,7 @@ public class S7Service { |
|
|
* |
|
|
* |
|
|
* Char ===> Object newValue = 'a' |
|
|
* Char ===> Object newValue = 'a' |
|
|
* WChar ===> Object newValue = '菜' |
|
|
* WChar ===> Object newValue = '菜' |
|
|
* String ===> Object newValue = '你好啊' |
|
|
|
|
|
|
|
|
* String ===> Object newValue = '你好啊' (特殊) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 数组变量 |
|
|
* 数组变量 |
|
@@ -206,6 +214,7 @@ public class S7Service { |
|
|
* UIntArray ===> int[] uintArrays_content = new int[3]; |
|
|
* UIntArray ===> int[] uintArrays_content = new int[3]; |
|
|
* USIntArray ===> int[] usintArrays_content = new int[3]; |
|
|
* USIntArray ===> int[] usintArrays_content = new int[3]; |
|
|
* UDIntArray ===> int[] udintArrays_content = new int[3]; |
|
|
* UDIntArray ===> int[] udintArrays_content = new int[3]; |
|
|
|
|
|
* StringArray ===> String[] stringArrays_content = new String[3]; |
|
|
* //如果有其他数据类型 这里没有找我扩展 |
|
|
* //如果有其他数据类型 这里没有找我扩展 |
|
|
* |
|
|
* |
|
|
* |
|
|
* |
|
|