Files
ThingsGateway/framework/Foundation/ThingsGateway.Foundation.Adapter.Siemens/Siemens/Message/SiemensMessage.cs

37 lines
1.3 KiB
C#
Raw Normal View History

2023-05-23 23:54:28 +08:00
#region copyright
//------------------------------------------------------------------------------
// 此代码版权声明为全文件覆盖,如有原作者特别声明,会在下方手动补充
// 此代码版权除特别声明外的代码归作者本人Diego所有
// 源代码使用协议遵循本仓库的开源协议及附加协议
2023-07-16 17:48:22 +08:00
// Gitee源代码仓库https://gitee.com/diego2098/ThingsGateway
2023-05-23 23:54:28 +08:00
// Github源代码仓库https://github.com/kimdiego2098/ThingsGateway
2023-07-16 17:48:22 +08:00
// 使用文档https://diego2098.gitee.io/thingsgateway-docs/
2023-05-23 23:54:28 +08:00
// QQ群605534569
//------------------------------------------------------------------------------
#endregion
2023-08-07 15:09:53 +08:00
namespace ThingsGateway.Foundation.Adapter.Siemens;
/// <inheritdoc/>
public class SiemensMessage : MessageBase, IMessage
2023-03-04 18:41:11 +08:00
{
2023-08-07 15:09:53 +08:00
/// <inheritdoc/>
public override int HeadBytesLength => 4;
/// <inheritdoc/>
2023-09-30 23:05:53 +08:00
public override bool CheckHeadBytes(byte[] heads)
2023-03-04 18:41:11 +08:00
{
2023-09-30 23:05:53 +08:00
HeadBytes = heads;
2023-08-07 15:09:53 +08:00
byte[] headBytes = HeadBytes;
if (headBytes == null || headBytes.Length < 4)
BodyLength = 0;
int length = (HeadBytes[2] * 256) + HeadBytes[3] - 4;
if (length < 0)
length = 0;
BodyLength = length;
return HeadBytes != null && HeadBytes[0] == 3 && HeadBytes[1] == 0;
2023-03-04 18:41:11 +08:00
}
2023-08-07 15:09:53 +08:00
2023-03-04 18:41:11 +08:00
}