工業物聯網驅動簡介
阿新 • • 發佈:2022-06-06
關於驅動
驅動是對傳統的資料採集程式的標準化,驅動可以作為你的資產進行管理
-
系統為每個裝置建立一個驅動例項
-
通過反射建立驅動例項
-
驅動不可以是靜態的
-
驅動要繼承IDriver介面
-
驅動內需要通過web配置的屬性(支援列舉等基本型別),上要加上Attribute
[ConfigParameter("埠號")] public int Port { get; set; } = 666;
-
系統通過反射為屬性賦值
-
若裝置設定為啟動,則進行連線、讀取的工作
-
可以在驅動內,使用任何C#語法,記得在關閉和釋放後釋放你建立的資源,尤其是後臺執行緒等
驅動生命週期
- 構造
[DriverInfoAttribute("YourDriver", "V1.0.0", "Copyright iotgateway© 2022-06-04")] public class YourDriverClass : IDriver{ }
- 連線
public bool Connect(){ }
- 讀取
[Method("方法中文名", description: "方法描述")] public DriverReturnValueModel Read(DriverAddressIoArgModel ioarg){ } public class DriverAddressIoArgModel { public string Address { get; set; } public DataTypeEnum ValueType { get; set; } } public class DriverReturnValueModel { public object Value { get; set; } [JsonConverter(typeof(StringEnumConverter))] public VaribaleStatusTypeEnum StatusType { get; set; } = VaribaleStatusTypeEnum.UnKnow; }
:::info 說明
你可以有多個讀取資料的方法,只要加上
MethodAttribute
即可識別
DriverAddressIoArgModel.Address
是通過前端傳入的地址,你可以發揮想象(如使用逗號分隔符)傳入更多的內容
DriverAddressIoArgModel.ValueType
是通過前端傳入的資料型別,你可以選擇是否使用它
DriverReturnValueModel.Value
是object
型別,你可以傳出任何型別,或者與DriverAddressIoArgModel.ValueType
呼應起來
:::
- 斷開
public bool Close(){ }
- 釋放
public void Dispose(){ }