导读:据power-eng网站11月24日报道,西门子能源公司宣布将为迪拜Jebel Ali发电厂提供新的燃气轮机控制器和其它重大升级,作为该公司对电厂扩展服务协议的一部分,这也是去年11月份,西门子宣布成功应用了世界上***个基于热力学燃气轮机数字孪生的智能燃机控制器之后的商业推广。
该报道称,迪拜电力和水务局(DEWA)与西门子签署了一项为期20年的新长期服务协议,服务期限内要求广泛的技术升级和新技术提供。
其中,西门子能源公司将为DEWA 旗下Jebel Ali电站的四台SGT5-4000F燃气轮机提供这种新型智能燃机控制器,其不仅包括燃气轮机控制功能的SPPA-T3000控制系统,还包括发电机的监控等,从而提高整个电厂的操作灵活性并减少停机时间。
西门子发电事业部执行副总裁卡里姆·阿明(Karim Amin)在一份声明中表示:“这项新协议强调了我们与DEWA的长期合作关系,以及我们在将先进技术和服务引入DEWA的电站中所取得的成功,我们期待在未来很多年继续这种合作。”
该智能控制器由DEWA和西门子能源公司于2019年共同开发,并被两家公司誉为世界上***燃气轮机智能控制器。该控制器使用人工智能(AI)和机器学习来系统地为电厂操作员提供完整的、连续的、电厂级的优化和实时评估,它可以提高燃气轮机效率、提升发电量,减少燃料消耗,并进一步降低排放。
升级后的SPPA-T3000控制系统是由西门子能源公司开发和制造的,具有在线补丁更新功能,不需要对机组进行停机,可以保障在更新过程中连续,安全地运行电厂。通过使所有设备都运行在一个控制系统上,它还可以增强电厂维护服务和备件管理的计划。
SGT5-4000F燃气轮机控制器的升级将使燃气轮机停运之间的间隔延长,从而提供了更大的操作灵活性,可以增加燃气轮机机组的允许启动次数并减少停运约25%。
DEWA发电执行副总裁纳赛尔-罗塔(Nasser Lootah)表示:“ DEWA通过提供可靠,高效率,高可用性和安全性等***高的电力服务,巩固了其在国内和全球的***地位。我们与西门子的战略合作伙伴关系可以追溯到30年前。西门子能源公司的技术约占DEWA总发电量的53%,足以为迪拜250万居民提供足够的电力。”
1.概念
①Coil和Register
Modbus中定义的两种数据类型。Coil是位(bit)变量;Register是整型(Word,即16-bit)变量。
②Slave和Master与Server和Client
同一种设备在不同领域的不同叫法。
Slave: 工业自动化用语;响应请求;
Master:工业自动化用语;发送请求;
Server:IT用语;响应请求;
Client:IT用语;发送请求;
在Modbus中,Slave和Server意思相同,Master和Client意思相同。
2.Modbus数据模型
Modbus中,数据可以分为两大类,分别为Coil和Register,每一种数据,根据读写方式的不同,又可细分为两种(只读,读写)。
Modbus四种数据类型:
Discretes Input 位变量 只读
Coils 位变量 读写
Input Registers 16-bit整型 只读
Holding Registers 16-bit整型 读写
通常,在Slave端中,定义四张表来实现四种数据。
3.Modbus地址范围对应表
设备地址 Modbus地址 描述 功能 R/W
1~10000 address-1 Coils(Output) 0 R/W
10001~20000 address-10001 Discrete Inputs 01 R
30001~40000 address-30001 Input Registers 04 R
40001~50000 address-40001 Holding Registers 03 R/W
4.Modbus变量地址
映射地址 Function Code 地址类型 R/W 描述
0xxxx 01,05,15 Coil R/W -
1xxxx 02 离散输入 R -
2xxxx 03,04,06,16 浮点寄存器 R/W 两个连续16-bit寄存器表示一个浮点数(IEEE754)
3xxxx 04 输入寄存器 R 每个寄存器表示一个16-bit无符号整数(0~65535)
4xxxx 03,06,16 保持寄存器 R/W -
5xxxx 03,04,06,16 ASCII字符 R/W 每个寄存器表示两个ASCII字符
一.MODBUS寄存器种类说明
虽然MODBUS支持诸多功能码,但其中只涉及到四种寄存器:线圈寄存器、离散输入寄存器、保持寄存器、输入寄存器。
只要搞清楚寄存器的本质和功能码的联系,其实理解功能码就很简单。
线圈寄存器:可以类比为开关量,每个bit都对应一个信号的开关状态。所以一个字节可以同时控制8路的信号。比如控制外部8路io的高低。 线圈寄存器支持读也支持写,比如控制或者读取电磁阀的开关志状态。对应的功能码有:0x01 0x05 0x0f
离散输入寄存器:离散输入寄存器相当于线圈寄存器的只读模式,每个bit表示一个开关量,而他的开关量只能读取,不能够写入。只能通过外部设定改变输入状态,比如我可以读取外部按键的按下还是松开,但是控制不了按键。对应的功能码有:0x02
保持寄存器:寄存器的单位不再是bit而是两个byte,也就是可以存放具体的数据量的,并且是可读写的。比如我不到那可以读取传感器报警上限下限,也可以设置它的大小。对应的功能码有:0x03 0x06 0x10
输入寄存器:输入寄存器相当于保持寄存器的只读模式,也是只支持读而不能写。一个寄存器也是占据两个字节的空间。比如通过读取输入寄存器获取现在的模拟量采样值。对应的功能码有 0x04
二.MODBUS部分功能码
MODBUS支持很多功能码,但是在实际应用的时候常用的也就那么几个。
上面介绍了Modbus的四个寄存器种类:线圈寄存器、离散输入寄存器、保持寄存器、输入寄存器,从寄存器角度理解了对应功能码。下面列出常用功能码,具体如下:
功能码名称数据类型作用0x01读线圈寄存器位取得一组逻辑线圈的当前状态(ON/OFF )0x02读离散输入寄存器位取得一组开关输入的当前状态(ON/OFF )0x03读保持寄存器整型、浮点型、字符型在一个或多个保持寄存器中取得当前的二进制值0x04读输入寄存器整型、浮点型在一个或多个输入寄存器中取得当前的二进制值0x05写单个线圈寄存器位强置一个逻辑线圈的通断状态0x06写单个保持寄存器整型、浮点型、字符型把具体二进值装入一个保持寄存器0x0f写多个线圈寄存器位强置一串连续逻辑线圈的通断0x10写多个保持寄存器整型、浮点型、字符型把具体的二进制值装入一串连续的保持寄存器三.MODBUS功能码实例
1.功能码:01H 读线圈寄存器1)功能:读从站线圈寄存器,位操作,可读单个或者多个
2)主机发送指令:
主机发送数据包括:从站地址+功能码+寄存器起始地址+寄存器数量+校验码
假设从站地址为0x01,线圈寄存器开始地址0x0021,结束地址0x002c,即寄存器地址范围为:0x0021~0x0032,总共读取12个连续线圈的状态值,则主机发送指令如下图所示:
3)从站响应返回:
从站响应返回数据包括:从站地址+功能码+返回字节数+数据值+校验码
其中,返回数据值的每一位对应线圈状态,线圈状态为ON时,其值为1;状态为OFF时,其值为0;
【数据以小端的形式进行存储,即低有效位存放于内存低位地址(位于二进制的右侧)。每8个位组成一个字节,当线圈的数量不是8的倍数时,剩余的位数添0补位。】
本例中读取12个线圈,12/8商1余4,因此需要2个字节存放应答数据,返回字节数为2。
字节1存放线圈编号21~28的数值(小端字节序,线圈28的值存放在bit7,线圈21的值存放在bit0);
字节2存放线圈编号29~32的数值,剩余位数添0补位;
上表中data1表示0x0021-0x0028的线圈状态,data1的低位代表低地址的线圈状态;
data1:0xCB=1100 1011,则data1线圈状态如下表所示:
data2表示地址0x0030-0x0038的线圈状态,不够8位,字节高位填充为0。
data2:0x0B=0000 1011,则data2线圈状态如下表所示:
1)功能:读离散输入寄存器,位操作,可读单个或多个,类似功能码0X01,此处省略;
3.功能码:03H 读保持寄存器1)功能:读从站保持寄存器,字节操作,可读单个或者多个;每个保持寄存器占2个字节(16位);
2)主机发送指令:
主机发送数据包括:从站地址+功能码+寄存器起始地址+寄存器数量+校验码
假设从站地址为0x03,保持寄存器开始地址为0x003B,结束地址0x003D,即寄存器地址范围为:0x003B~0x003D,总共读取3个保持寄存器的数据,则主机发送指令如下图所示:
3)从站响应返回:
从站响应返回数据包括:从站地址+功能码+返回字节数+数据值+校验码
本例中读取3个保持寄存器,每个保持寄存器占2个字节,因此需要6个字节存放应答数据,返回字节数为6。
0x003B~0x003D保持寄存器的数值如下图所示:
1)功能:读输入寄存器,字节操作,可读单个或多个,类似功能码0X03,此处省略;
5.功能码:05H 写单个线圈寄存器1)功能:对单个线圈进行写操作,位操作,只能写一个。写入0xFF00表示将线圈置为ON,写入0x0000表示将线圈置为OFF,其它值无效;
2)主机发送指令:
主机发送数据包括:从站地址+功能码+寄存器起始地址+数据值+校验码
假设从站地址为0x03,线圈寄存器起始地址为0x0032,要将其设置为ON,则主机发送指令如下表所示:
3)从站响应返回:
从站应答数据包括:从站地址+功能码+寄存器地址+写入值+校验码
如果数据成功写入,则应答数据与请求数据一样,如下表所示:
1)功能:对单个保持寄存器进行写操作,字节操作,只能写一个。
2)主机发送指令:
主机发送数据包括:从站地址+功能码+寄存器起始地址+数据值+校验码
假设从站地址为0x01,线圈寄存器起始地址为0x0048,写入数值为0x1234,则主机发送指令如下表所示:
3)从站响应返回:
从站应答数据包括:从站地址+功能码+寄存器地址+写入值+校验码
如果数据成功写入,则应答数据与请求数据一样。