| | |
| | | client?.Dispose(); |
| | | } |
| | | |
| | | public bool Simens_S7_ReadBool(int DB, int StartAdd, int Pos) |
| | | public bool Simens_S7_ReadBool(int DB, int StartAdd, int Pos, out bool value, out string msg) |
| | | { |
| | | var or = client.ReadBool($"DB{DB}.DBX{StartAdd}.{Pos}"); |
| | | return or.Content; |
| | | value = false; |
| | | msg = null; |
| | | try |
| | | { |
| | | var or = client.ReadBool($"DB{DB}.DBX{StartAdd}.{Pos}"); |
| | | if (!or.IsSuccess) |
| | | { |
| | | msg = $"{or.ErrorCode} {or.Message}"; |
| | | return false; |
| | | } |
| | | value = or.Content; |
| | | return true; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | msg = ex.Message; |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public void Simens_S7_WriteBool(int DB, int StartAdd, int Pos, bool Val) |
| | | public bool Simens_S7_WriteBool(int DB, int StartAdd, int Pos, bool Val, out string msg) |
| | | { |
| | | var or = client.Write($"DB{DB}.DBX{StartAdd}.{Pos}", Val); |
| | | return; |
| | | msg = null; |
| | | try |
| | | { |
| | | var or = client.Write($"DB{DB}.DBX{StartAdd}.{Pos}", Val); |
| | | if (!or.IsSuccess) |
| | | { |
| | | msg = $"{or.ErrorCode} {or.Message}"; |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | msg = ex.Message; |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public int Simens_S7_ReadInt(int DB, int StartAdd, int Length) |
| | | { |
| | | var or = client.ReadInt16($"DB{DB}.DBW{StartAdd}"); |
| | | return or.Content; |
| | | } |
| | | |
| | | public void Simens_S7_WriteInt(int DB, int StartAdd, short Val) |
| | | { |
| | | client.Write($"DB{DB}.DBW{StartAdd}", Val); |
| | | } |
| | | |
| | | public float Simens_S7_ReadReal(int DB, int StartAdd, int Length) |
| | | { |
| | | var or = client.ReadFloat($"DB{DB}.DBW{StartAdd}"); |
| | | return or.Content; |
| | | } |
| | | |
| | | public void Simens_S7_WriteReal(int DB, int StartAdd, float Val) |
| | | { |
| | | client.Write($"DB{DB}.DBW{StartAdd}", Val); |
| | | } |
| | | |
| | | public bool ReadShort(string address, out short value, out string errMsg) |
| | | public bool Simens_S7_ReadInt(int DB, int StartAdd, out int value, out string msg) |
| | | { |
| | | value = 0; |
| | | errMsg = null; |
| | | msg = null; |
| | | try |
| | | { |
| | | var or = client.ReadInt16($"DB{DB}.DBW{StartAdd}"); |
| | | if (!or.IsSuccess) |
| | | { |
| | | msg = $"{or.ErrorCode} {or.Message}"; |
| | | return false; |
| | | } |
| | | value = or.Content; |
| | | return true; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | msg = ex.Message; |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public bool Simens_S7_WriteInt(int DB, int StartAdd, short Val, out string msg) |
| | | { |
| | | msg = null; |
| | | try |
| | | { |
| | | var or = client.Write($"DB{DB}.DBW{StartAdd}", Val); |
| | | if (!or.IsSuccess) |
| | | { |
| | | msg = $"{or.ErrorCode} {or.Message}"; |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | msg = ex.Message; |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public bool Simens_S7_ReadReal(int DB, int StartAdd, out float value, out string msg) |
| | | { |
| | | value = 0; |
| | | msg = null; |
| | | try |
| | | { |
| | | var or = client.ReadFloat($"DB{DB}.DBW{StartAdd}"); |
| | | if (!or.IsSuccess) |
| | | { |
| | | msg = $"{or.ErrorCode} {or.Message}"; |
| | | return false; |
| | | } |
| | | value = or.Content; |
| | | return true; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | msg = ex.Message; |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public bool Simens_S7_WriteReal(int DB, int StartAdd, float Val, out string msg) |
| | | { |
| | | msg = null; |
| | | try |
| | | { |
| | | var or = client.Write($"DB{DB}.DBW{StartAdd}", Val); |
| | | if (!or.IsSuccess) |
| | | { |
| | | msg = $"{or.ErrorCode} {or.Message}"; |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | msg = ex.Message; |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public bool ReadShort(string address, out short value, out string msg) |
| | | { |
| | | value = 0; |
| | | msg = null; |
| | | try |
| | | { |
| | | var or = client.ReadInt16(address); |
| | | if (or.IsSuccess) |
| | | if (!or.IsSuccess) |
| | | { |
| | | value = or.Content; |
| | | msg = $"{or.ErrorCode} {or.Message}"; |
| | | return false; |
| | | } |
| | | else |
| | | { |
| | | errMsg = or.Message; |
| | | } |
| | | return or.IsSuccess; |
| | | value = or.Content; |
| | | return true; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | errMsg = e.Message; |
| | | msg = e.Message; |
| | | return false; |
| | | } |
| | | } |