[1/2] 我从几个月前就在写一个实时获取和监控DHCP服务器上活跃的IP对应的主机信息的程序,用的是Python和Shell(调用ssh和ipmitool命令)。获取主机信息部分和主体框架都实现得差不多了,就差一个高效的Python ping函数尚未实现(我不想用系统自带的ping命令,因为每ping一次,就需要启动一个子进程)。
前两个月工作较忙,一直没有动手写,这几天感觉工作不是很紧张,就想着把这个程序编写完成,以增强一下工作体验。我在GitHub找了几个Python的ping实现或ICMP库,都不尽人意;又找了一下C写的,想着自己编译一下,然后用Python去调C函数,也不尽人意。
最后,我打算参考一下GitHub上的那些库,自己实现。这样有一个好处,就是好控制identifier和sequence。打算用进程的pid作为identifier,用来匹配本进程对应的Echo和Echo Reply,然后针对每一个IP使用不同的sequence。sequence字段宽度为2字节,可以标识6万多个IP,够用了。写到这里,才发现sequence根本用不着,按照常规处理即可,直接判断Echo Reply报文的源IP是否是本线程发出的Echo报文的目标IP即可。然后新的问题可能也是最难的问题就是,多个线程同时收发ICMP报文,如何判断收到的报文属于哪个线程?
或许异步定时任务是最好处理方式。设置3个状态表,表D(Disconnected)、表U(Unrecognized)和表R(Recognized),然后启动3个异步任务:任务1循环解析DHCP租约,移除过期IP,并将新的租约的IP加到D中;任务2循环ping所有IP,把不能ping通的IP放到D中,把D中能ping通的IP放到U中,U和R中能ping通的IP保持不变;任务3循环对U中的IP进行识别,把能识别的加到R中。或许,不设置表,而是给每个IP添加一个状态变量会更好。
前两个月工作较忙,一直没有动手写,这几天感觉工作不是很紧张,就想着把这个程序编写完成,以增强一下工作体验。我在GitHub找了几个Python的ping实现或ICMP库,都不尽人意;又找了一下C写的,想着自己编译一下,然后用Python去调C函数,也不尽人意。
最后,我打算参考一下GitHub上的那些库,自己实现。这样有一个好处,就是好控制identifier和sequence。打算用进程的pid作为identifier,用来匹配本进程对应的Echo和Echo Reply,然后针对每一个IP使用不同的sequence。sequence字段宽度为2字节,可以标识6万多个IP,够用了。写到这里,才发现sequence根本用不着,按照常规处理即可,直接判断Echo Reply报文的源IP是否是本线程发出的Echo报文的目标IP即可。然后新的问题可能也是最难的问题就是,多个线程同时收发ICMP报文,如何判断收到的报文属于哪个线程?
或许异步定时任务是最好处理方式。设置3个状态表,表D(Disconnected)、表U(Unrecognized)和表R(Recognized),然后启动3个异步任务:任务1循环解析DHCP租约,移除过期IP,并将新的租约的IP加到D中;任务2循环ping所有IP,把不能ping通的IP放到D中,把D中能ping通的IP放到U中,U和R中能ping通的IP保持不变;任务3循环对U中的IP进行识别,把能识别的加到R中。或许,不设置表,而是给每个IP添加一个状态变量会更好。
网口通讯与串口通讯的区别
网口通信是广泛使用的通讯方式,设备之间通过网线进行连接。网口使用的是以太网通讯协议,主要的协议有TCP和UDP。TCP和UDP的差别主要是 可靠连接和 无连接。如果无交换机,TCP只能1对1,而UDP无论1对1,1对多,多对多都可以。
串口通信(Serial Communications)的概念非常简单,物理上工业常用接线的有RS232、RS422和RS485。使用的是串行口通讯协议。
RS232通信方式主要是全双工:数据在两个方向上同时传输。
RS485通信方式主要是半双工 :可以两个方向上传输,但是不能同时传输。
图片
1、网口通讯(Socket Communications),两个进程如需要进行通讯最基本的一个前提能能够唯一的标示一个进程,在本地进程通讯中我们可以使用PID来唯一标示一个进程,但PID只在本地唯一,在整个网络上冲突概率非常大,所以我们不能仅仅通过PID来标识,我们知道IP层的ip地址可以唯一标示主机,而TCP层协议和端口号可以唯一标示主机的一个进程,这样我们可以利用ip地址+协议+端口号唯一标示网络中的一个进程。
能够唯一标示网络中的进程后,它们就可以利用socket进行通信了,什么是socket呢?我们经常把socket翻译为套接字,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。
对于网口通信来讲优点有:通信数据传输速率快。缺点就是在成本上较串口通信来讲比较高。每台通信设备需要网线与交换机设备相连,网线使用的多同时添加了交换机,无疑增加了成本。而且对于工作量也增加了许多。
2、串口通信按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。
通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。
串口通信的优点:
①、抗干扰能力强
②、传输距离长
③、一般情况下十几台通信设备都可以通过一根屏蔽双绞线以手拉手的形式连接在一起,大大降低了通信线的成本。
缺点就是速率慢,可靠性上有些欠缺。一般通信参数有地址,即通信设备的实际地址,改地址在1-255之间。波特率反映的是传播的速率,一般常见的是1200、2400、4800、9600、19200。8位数据位,一位停止位。但是奇偶校验n代表无校验、e代表偶校验、o代表奇校验。一般常见的是9600 n 8 1.
网口通信是广泛使用的通讯方式,设备之间通过网线进行连接。网口使用的是以太网通讯协议,主要的协议有TCP和UDP。TCP和UDP的差别主要是 可靠连接和 无连接。如果无交换机,TCP只能1对1,而UDP无论1对1,1对多,多对多都可以。
串口通信(Serial Communications)的概念非常简单,物理上工业常用接线的有RS232、RS422和RS485。使用的是串行口通讯协议。
RS232通信方式主要是全双工:数据在两个方向上同时传输。
RS485通信方式主要是半双工 :可以两个方向上传输,但是不能同时传输。
图片
1、网口通讯(Socket Communications),两个进程如需要进行通讯最基本的一个前提能能够唯一的标示一个进程,在本地进程通讯中我们可以使用PID来唯一标示一个进程,但PID只在本地唯一,在整个网络上冲突概率非常大,所以我们不能仅仅通过PID来标识,我们知道IP层的ip地址可以唯一标示主机,而TCP层协议和端口号可以唯一标示主机的一个进程,这样我们可以利用ip地址+协议+端口号唯一标示网络中的一个进程。
能够唯一标示网络中的进程后,它们就可以利用socket进行通信了,什么是socket呢?我们经常把socket翻译为套接字,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。
对于网口通信来讲优点有:通信数据传输速率快。缺点就是在成本上较串口通信来讲比较高。每台通信设备需要网线与交换机设备相连,网线使用的多同时添加了交换机,无疑增加了成本。而且对于工作量也增加了许多。
2、串口通信按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。
通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。
串口通信的优点:
①、抗干扰能力强
②、传输距离长
③、一般情况下十几台通信设备都可以通过一根屏蔽双绞线以手拉手的形式连接在一起,大大降低了通信线的成本。
缺点就是速率慢,可靠性上有些欠缺。一般通信参数有地址,即通信设备的实际地址,改地址在1-255之间。波特率反映的是传播的速率,一般常见的是1200、2400、4800、9600、19200。8位数据位,一位停止位。但是奇偶校验n代表无校验、e代表偶校验、o代表奇校验。一般常见的是9600 n 8 1.
走进“千行百业”,分布式光伏电站应对发电量提升有妙招!
分布式光伏正以前所未有的速度进驻各行各业。
一方面,在双碳大目标的催化下,电力供应紧张、能耗双控考核、取消工商业目标电价等情况及提高了高耗能行业的用电成本,进一步提高了整个行业对分布式光伏的认知,为分布式光伏的爆发提供了行业空间;另一方面,分布式光伏整县推进政策也推动了地方政府以及国有企业对于分布式光伏的支持与投资热情。
这种积极性也体现在装机数据上,根据官方统计,2022年1-7月全国光伏装机37.76GW,其中分布式光伏达25.46GW,占比67%,持续引领光伏终端市场。
然而,随着分布式光伏深入到各行各业,从户用、工商业企业到学校、医院以及机场、高速公路、加油站、充电桩、大数据中心、综合能源系统等,应用场景愈发多样化,不同应用场景下屋顶条件千差万别,不同行业企业的用电需求以及商业模式亦存在差别。其中,峰谷价差以及部分高耗能企业还存在安装储能系统的要求。
多样化的应用场景对分布式光伏系统提出了更为严苛的标准与需求,譬如在部分场景下,存在由于女儿墙、空调外机、广告牌、树木等的遮挡导致分布式光伏装机容量小,无法满足企业绿电需求比例等问题。针对这些问题,光伏企业也在不断探索创新产品功能设计,以更好的适应分布式光伏的发展趋势。
作为逆变器领域的龙头企业,华为智能光伏以全新“1+3”优光储融合架构,聚焦可靠、安全、发电、智能,推出华为行业绿电解决方案2.0,打造工商业光伏电站的理想之选,提供更优的用能体验。
据光伏們了解,华为智能光伏“1+3”是以全新上市的SUN2000-50KTL-ZHM3(以下简称50KTL)三相逆变器为核心,适配智能组件控制器MERC-1100W/1300W-P(一拖二优化器),智能组串式储能系统LUNA2000-200KWH-2H0(可与100kW PCS耦合)以及智能光伏云,解决工商业光伏全面推进面临的诸多挑战,满足各类工商业场景需求,助力千行百业迈入绿色低碳新时代。
值得一提的是,针对屋顶安装结构复杂、阴影遮挡的问题,50KTL搭配了智能组件控制器,可以最大化利用屋顶面积,临时性阴影区域也可以安装组件,工商业屋顶利用率平均可提升30%,极大的提高了分布式光伏电站的开发效率,同时也提升了企业的绿电使用比例。
同时,“组件级”优化技术还可以降低组串间的失配影响,避免组串内组件不一致造成失配进而影响发电量的问题。据介绍,在电站生命周期内,“组件级”优化技术可提升电站发电量5~30%。根据实证数据,在浙江省电科院40kW屋顶电站发电量实测显示,首年发电量提升>3.12%;上海杜尔屋顶电站实测,首年发电量提升>4.8%。
广东某屋顶分布式光伏项目安装智能光伏优化器前后对比
另外,从逆变器本身来看,华为行业绿电方案提供的三相逆变器50KTL具备领先MPPT追踪能力,更高动态MPPT效率,更强多峰扫描能力,和传统逆变器相比,生命周期内发电量平均可提升2%以上。事实上,根据光伏們此前文章,在国家首个大型光储实证基地中,以华为智能光伏为代表的组串式逆变器在发电效率与发电量上均具备领先的优势。
考虑到光伏电站中普遍存在组件PID效应,由于组件长期暴露在环境中,背部封胶易老化,外部阳极离子从玻璃板流入组件半导体材料中,会影响发电性能。故除了在逆变器既有功能上创新升级之外,50KTL还充分发挥了作为光伏电站“大脑”的作用,其中内置了PID修复模块,夜间自动抬升PV-对地电势为正,从而减缓组件的快速衰减,根据相关数据,PID修复模块可以助力光伏电站全生命周期系统发电量平均可提升3%以上。
此外,为了契合部分地区与行业对于工商业储能的需求,华为行业绿电解决方案2.0采用行业领先的智能组串式储能架构,内置能量优化器,可在生命周期提升放电量2%-5%,进一步降低企业用电成本。
未来,华为智能光伏将继续融合ICT技术、电力电子技术和储能技术,携手全球客户和合作伙伴与“光”同行,助力光伏成为主力能源,让绿色电力惠及千行百业、千家万户,加速实现碳中和,共建绿色美好未来。
分布式光伏正以前所未有的速度进驻各行各业。
一方面,在双碳大目标的催化下,电力供应紧张、能耗双控考核、取消工商业目标电价等情况及提高了高耗能行业的用电成本,进一步提高了整个行业对分布式光伏的认知,为分布式光伏的爆发提供了行业空间;另一方面,分布式光伏整县推进政策也推动了地方政府以及国有企业对于分布式光伏的支持与投资热情。
这种积极性也体现在装机数据上,根据官方统计,2022年1-7月全国光伏装机37.76GW,其中分布式光伏达25.46GW,占比67%,持续引领光伏终端市场。
然而,随着分布式光伏深入到各行各业,从户用、工商业企业到学校、医院以及机场、高速公路、加油站、充电桩、大数据中心、综合能源系统等,应用场景愈发多样化,不同应用场景下屋顶条件千差万别,不同行业企业的用电需求以及商业模式亦存在差别。其中,峰谷价差以及部分高耗能企业还存在安装储能系统的要求。
多样化的应用场景对分布式光伏系统提出了更为严苛的标准与需求,譬如在部分场景下,存在由于女儿墙、空调外机、广告牌、树木等的遮挡导致分布式光伏装机容量小,无法满足企业绿电需求比例等问题。针对这些问题,光伏企业也在不断探索创新产品功能设计,以更好的适应分布式光伏的发展趋势。
作为逆变器领域的龙头企业,华为智能光伏以全新“1+3”优光储融合架构,聚焦可靠、安全、发电、智能,推出华为行业绿电解决方案2.0,打造工商业光伏电站的理想之选,提供更优的用能体验。
据光伏們了解,华为智能光伏“1+3”是以全新上市的SUN2000-50KTL-ZHM3(以下简称50KTL)三相逆变器为核心,适配智能组件控制器MERC-1100W/1300W-P(一拖二优化器),智能组串式储能系统LUNA2000-200KWH-2H0(可与100kW PCS耦合)以及智能光伏云,解决工商业光伏全面推进面临的诸多挑战,满足各类工商业场景需求,助力千行百业迈入绿色低碳新时代。
值得一提的是,针对屋顶安装结构复杂、阴影遮挡的问题,50KTL搭配了智能组件控制器,可以最大化利用屋顶面积,临时性阴影区域也可以安装组件,工商业屋顶利用率平均可提升30%,极大的提高了分布式光伏电站的开发效率,同时也提升了企业的绿电使用比例。
同时,“组件级”优化技术还可以降低组串间的失配影响,避免组串内组件不一致造成失配进而影响发电量的问题。据介绍,在电站生命周期内,“组件级”优化技术可提升电站发电量5~30%。根据实证数据,在浙江省电科院40kW屋顶电站发电量实测显示,首年发电量提升>3.12%;上海杜尔屋顶电站实测,首年发电量提升>4.8%。
广东某屋顶分布式光伏项目安装智能光伏优化器前后对比
另外,从逆变器本身来看,华为行业绿电方案提供的三相逆变器50KTL具备领先MPPT追踪能力,更高动态MPPT效率,更强多峰扫描能力,和传统逆变器相比,生命周期内发电量平均可提升2%以上。事实上,根据光伏們此前文章,在国家首个大型光储实证基地中,以华为智能光伏为代表的组串式逆变器在发电效率与发电量上均具备领先的优势。
考虑到光伏电站中普遍存在组件PID效应,由于组件长期暴露在环境中,背部封胶易老化,外部阳极离子从玻璃板流入组件半导体材料中,会影响发电性能。故除了在逆变器既有功能上创新升级之外,50KTL还充分发挥了作为光伏电站“大脑”的作用,其中内置了PID修复模块,夜间自动抬升PV-对地电势为正,从而减缓组件的快速衰减,根据相关数据,PID修复模块可以助力光伏电站全生命周期系统发电量平均可提升3%以上。
此外,为了契合部分地区与行业对于工商业储能的需求,华为行业绿电解决方案2.0采用行业领先的智能组串式储能架构,内置能量优化器,可在生命周期提升放电量2%-5%,进一步降低企业用电成本。
未来,华为智能光伏将继续融合ICT技术、电力电子技术和储能技术,携手全球客户和合作伙伴与“光”同行,助力光伏成为主力能源,让绿色电力惠及千行百业、千家万户,加速实现碳中和,共建绿色美好未来。
✋热门推荐