这是一个 libmodbus 库 的 Objective-C 封装类。封装类可以免费供任何人使用(GNU Lesser Public License)。
封装类目前仅支持 TCP。它没有封装 libmodbus 的所有函数。如果您缺失某些功能,请阅读 elibmodbus 文档。很可能是 libmodbus 已经支持它了!如果您修改或扩展了代码,请回馈!
将 ObjectiveLibModbus.h 和 ObjectiveLibModbus.m 拖入您的项目中。
在您将使用 ObjectiveLibModbus 的地方导入它
#import "ObjectiveLibModbus.h"
//Allocate a new ObjectiveLibModbus instance
objLibModbus = [[ObjectiveLibModbus alloc] initWithTCP:@"192.168.2.10" port:502 device:1];
[objLibModbus connect:^{
//connected and ready to do modbus calls
} failure:^(NSError *error) {
//Handle error
NSLog(@"Error: %@", error.localizedDescription);
}];
[objLibModbus readRegistersFrom:1000 count:5 success:^(NSArray *array) {
//Do something with the returned data (NSArray of NSNumber)..
NSLog(@"Array: %@", array);
} failure:^(NSError *error) {
//Handle error
NSLog(@"Error: %@", error.localizedDescription);
}];
[objLibModbus disconnect];