跳到主要内容

二次开发

二次开发

提供SDK,可通过二次开发,来支持其他协议。

SDK环境搭建

SDK分为两部分,一部分是算盘CSDK,提供一些底层的依赖库,另一部分是算盘Link二次开发库
拿到开发所需文件之后,实现下述接口(以virtual plc为例),即可进行二次开发。
driver_impl_t virtual_plc  = {
    .name = "virtual_plc",
    .name_zhcn = "虚拟PLC",
    .version = "V0.1",

    //driver
    .driver_open    = vdriver_drive_open,
    .driver_get_model = vdriver_get_model,
    .driver_close = vdriver_driver_close,

    //channel
    .channel_open = vchannel_open,
    .channel_close = vchannel_close,
    .channel_dump_config = vchannel_dump_config,
    .channel_connected = vchannel_connected,
    .channel_loop = vchannel_loop,

    //device
    .device_open = vdevice_open,
    .device_close = vdevice_close,
    .device_connect = vdevice_connect,
    .device_connected = vdevice_connected,
    .device_disconnect = vdevice_disconnect,
    .device_loop = vdevice_loop,
    .device_read_data = vdevice_read_data,
    .device_write_data = vdevice_write_data,
    .device_control = vdevice_control,
    .device_dump_config = vdevice_dump_config,
};
具体开发方式可以查看Virtual驱动的代码实现,先调试Virtual驱动,然后以它为模板调试自定义的驱动。
目前支持的方式是C语言,如果要支持其他语言,可以用C语言做一个转发,桥接到其他语言上。