ppjsbanner

新闻资讯

行业动态
联系我们
上海六利信息科技有限公司
客服热线:021-38688888
官网:WWW.6LI.COM
邮箱:SALES@6LI.COM
地址:上海嘉定曹安公路4671号协通科技园内28幢6层乐利网

5
2022-1
电动扭力枪怎么调整转速?
电动扭力枪速度是影响扭矩过冲的重要原因。因此,合理调整电动扭力枪的速度是保证拧紧质量重要的一环,那么电动扭力枪速度怎么调整呢,下面来简要看看。 丹尼克尔电动扭力枪 为了使螺栓拧紧更具有科学性,相对于传统的一步拧紧,目前使用的电动扭力枪主要分为两步或多步拧紧,两步拧紧与一步拧紧的区别在于,先达到初始阶段目标扭矩停顿一段时间后,再拧紧至目标扭矩。常用于对静态扭矩有要求,且来料螺纹连接副摩擦系数初始状态有一定差异的场合。 两步拧紧推荐速度调整参数: 自攻拧紧适用于塑料、铝件等自攻拧紧连接场合。自攻拧紧策略包括软启动、快速攻丝、持续旋入、旋入贴合和拧紧阶段。 自攻拧紧推荐速度调整参数:
23
2020-4
全球首款研华首推无风扇触控平板电脑 研华 平板电脑
    研华自动化近日推出全新无风扇嵌入式触控平板电脑TPC-1770H,该款产品配备17” SXGA TFT 液晶显示器,采用1GHz Intel®  Celeron® M处理器,并具备坚固的铝制前面板。总厚度小于93mm的超薄设计使得TPC-1770H成为目前触控平板电脑市场上最为小巧而坚固的产品,并依然配备17”显示屏。     TPC-1770H采用低功耗处理器,搭配铝制的散热片整合成坚固耐用的无风扇设计。在功能扩展方面,TPC-1770H也提供了一个延伸插槽,可供客户方便整合各种现场应用功能,如RS-232/422/485, PCI-104模块, CAN通讯功能及其他现场总线功能。其前面板符合NEMA4/ IP65标准,使其可以应用在任何严苛的工业环境下,特别是SCADA应用或是机械自动化环境下的HMI应用。     另外,TPC-1770H还提供多种通讯端口(3个串口,2个Gigabit以太网端口,4个USB 2.0端口,1个PS/2 和VGA),允许与多种周边设备链接。TPC-1770H支持Microsoft Windows XP, Windows XP Embedded, Windows CE 5.0.     研华自动化TPC-1770H目前已投放市场,如需详细信息请洽当地经销商或拨打免费售前电话800-810-0345(400-810-0345手机)咨询研华销售代表,亦可登录研华官方网站http://www.advantech.com.cn/eAutomation  获取详细资料。  
18
2021-1
导视标识系统中标识符号元素的运用
导视标识符号的设计一般要符合国家和国际标准,尽量符合人们已有的概念和认识习惯,标识符号设计包括字体、颜色、图案图形符号等。 1.字体 标识设计的字体分为两部分:第一、品牌字体识别。通常出现在商品标识牌上,安排在商品的专区里,字体大小要与商场的整体标识相和谐。第二、提示性文字,比如“安全出口”“禁止吸烟”等字体,通常用黑体和宋体,字体大小考虑悬挂牌大小的尺寸,使观众能容易看到、识别。 前期标识|导视标识系统 2.色彩 视觉传达中的重要媒介之一的色彩,能引起人们强烈注意,在视觉、心里、情感上带给人们很大变化,色彩搭配合理能够使标识更加引人关注,如果搭配不好,会大大降低人们的识别力。在导视系统设计中,色彩有很多种作用,也有单一的作用,它能使导视标识与环境保持统一,也可以形成鲜明对比。导视标识系统中黄色表示警告警示作用,绿色表示引导和指引作用,红色表示禁止性的信息等。 前期标识|导视标识系统 3.图形符号 图形符号和文字是相互配合来完成信息传达的。简洁明了的图形符号会使人们清晰了解所需要的信息,避免不必要的浪费时间,走弯路。常见的符号有左右转弯、电梯升降、洗手间、停车场、楼层分布等,它们特点就是简沽化.标准化,符号国家或国际标准,尽量与人们已有的概念认识和习惯一致。 前期标识|导视标识系统 河南前期标识设计制作有限公司是集“策划-设计-生产-安装-售后”于一体的综合化标识标牌厂家,专业制作商业标识、小区标识、售楼处标识、医院标识、景区标识、学校标识、写字楼标识、市政标识等。整个团队在完整、科学的质量管理体系下为客户提供一体化的标识系统解决方案。 想要了解更多的标识标牌的知识,请关注本账号,或者感觉本篇文章不错可以收藏+转发,前期标识小编每天都会更新不一样的标识文章,或者有不同的观点和看法都可以在评论区里留言哦~
21
2021-2
如何选购防爆断路器?
防爆断路器可用来分配电能,不频繁地启动异步电动机,对电源线路及电动机等实行保护,在工业生产中有非常广泛的应用。 那么,当采购断路器时,需要考虑哪些因素呢? 今天,小编就为大家介绍一些断路器选购的相关知识: 1、根据用途选择断路器的型式及极数,根据工作电流选择断路器的额定电流;根据需要选择脱扣器的类型、附件的种类和规格。 2、采取断路器作为单台电动机的短路保护时,瞬时脱扣器的整定电流为电动机启动电流的1.35倍或1.7倍。 3、采用断路器作为多台电动机的短路保护时,瞬时脱扣器的整定电流为电动机的启动电流加上其余电动机的工作电流的1.3倍。 4、采用断路器作为配电变压器低压侧总开关时,其分断能力应大于变压器低压侧的短路电流值,脱扣器的额定电流不应小于变压器的额定电流,短路保护的整定电流一般为变压器额定电流的6-10倍;过载保护的整定电流等于变压器的额定电流。 5、初步选定断路器的类型和等级后,还要与上、下级开关的保护特性进行配合,以免越级跳闸,扩大事故范围。 防爆断路器由于其用途的特殊性,所以必须要有防爆合格证、检验报告等资质证书。用于确定设备符合标准的要求、型式试验和适应的例行试验的文件。 选购防爆断路器必须要选择有厚实的防爆外壳,防爆面不可以偷工减料!由于使用环境复杂的情况,可能有腐蚀的情况出现,所以表面高压静电喷塑必须选择高品质塑粉,严格把控喷塑时间,选择断路器更重要的是选择有国家认证证书的厂家,这是证明断路器是否合格的重要标志之一!
5
2021-2
火影忍者中最费钱的4个忍术,一个要百吨黄金,一个要整个国家的钱财
动漫、游戏、攻略 文中有福利不要错过哦 看过火影忍者的各位小伙伴,一定被剧中强力的忍术所吸引吧,有的忍术一招就能毁灭一个村子,比如佩恩的超大型神罗天征,瞬间就把木叶村给变成了一片废墟。或者是迈特凯的八门遁甲,一脚差点踢出一个大结局,就算是强大如宇智波斑,也被踢掉了半条命。 点点下面,抽位送电玩小子 但是这些忍术都有一个特点,那就是使用的代价非常巨大,大型的神罗天征会消耗大量的查克拉,而八门遁甲更是要以生命为代价。不过并不是所有的忍术都是以消耗查克拉或者生命为代价,有的忍术发动起来是要钱的,而且是需要很多的钱。接下来小编就给大家盘点一下,火影中最烧钱的4个忍术。 点点下面,抽位送电玩小子 1.百机操演 这是赤砂之蝎的秘术,可以同时操控成败上千个傀儡,虽然看起来十分的炫酷,但是这个术不仅费钱而且费时间,因为制作傀儡需要大量的材料和时间,像是三代风影这种级别的傀儡,估计蝎需要做上几年才能使用。 NO.2操生龙 这是刃具大师天天的秘术,在使用之前需要购买大量的刃具,包括苦无和手里剑等等,然后把刃具储存到卷轴里去。在战斗时可以利用大量的刃具对敌人进行攻击,虽然效果不错,但是非常的费钱。就连天天本人在购买刃具时,都表示好不容易执行任务挣的钱,结果又都买了刃具。 NO.3金沙 这是四代风影我爱罗父亲的血继界限,和我爱罗一样他也能操控沙子,不过他操控的可是金沙,不管是硬度还是攻击力都要比普通的沙子强很多。由于需要的金沙非常多,可能只有影级的人物才能够用起吧。 NO.4六千亿张起爆符 这个可能是火影里面最费钱的忍术了,因为起爆符也是需要钱来购买的,起爆符也就相当于我们现实世界中的手雷,一颗手雷的造价怎么也得上百块钱吧,就算一张起爆符十块钱,乘以六千亿那也不是个小数目。估计雨之国所有的财政收入,都被小楠拿去购买起爆符了。 点点下面,给小编加鸡腿
26
2022-6
广安聪茂听力分享:噪音下如何保护耳朵听力
生活中的噪声种类很多,如果不注意防范,久而久之听力会受到不同程度的损害。预防噪声性耳聋最主要的办法是做到尽量远离噪声或减少暴露时间。可注意以下几点: 1、正确使用耳机,遵守“60-60-60”原则,即音量控制在最大音量的 60%以内,连续时间控制在1小时(60钟)内,外界音最好不超过60dB;选择质量好、杂音小、音量可自由灵活调控的耳机。 2、尽量不去或少去电动游乐场、KTV、影厅等噪声较大的场所。 3、适当控制家庭影音电器、广场舞音响的音量。 4、进入爆震地区前,应使用耳塞、耳罩、隔音帽等防声器材或用棉花球塞于耳道内。若缺乏防护材料,可用两手指分别塞人两侧外耳道口内,同时卧倒,背向爆震源,起到一定防护作用。爆震时如张口呼吸或做吞咽动作也可减少中耳损伤。 5、就业前应检查听力,患有感音神经性耳聋和对噪声感者,应避免在强噪声环境中工作,在噪声环境中工作的人员应定期检查听力。 6、装配隔音和消音设施(如隔音窗户)消除或降低生活中的噪声。
30
2021-6
衡水市冀州区法院开展法庭安保培训
司法 中国视窗 按照最高人民法院关于《人民法庭安全管理规定(试行)》的通知要求,河北衡水市冀州区人民法院为进一步提升安全检查人员的安检技能和风险意识,规定司法警察大队每周二对各基层法庭安全保卫工作进行培训。5月11日,冀州区人民法院面向基层法庭安保人员开展安保培训。 司法警察大队针对此次培训制定了详细计划,抽调法警到城关法庭、周村法庭、码头李法庭的安检场所、安检设备,驻庭安保人员的警容风纪、装备配备等进行了细致的检查。查看了安保台账,当场指出存在问题并立即整改。 培训内容主要有安保和处突应急两大部分,对日常安保流程进行规范演示。随后由两名司法警察充当临时演员,模拟当事人扰乱庭审秩序、自残、持凶器伤人、袭警等突发事件,在演练过程中及时纠正安保人员易犯错误。 此次培训,增强了法庭安保人员的责任意识和安全防范意识,切实做到以排查促整改,消除潜在风险,确保审判工作安全有序开展。
7
2021-12
一文读懂POE交换机和普通交换机的区别
POE (Power Over Ethernet)指的是在目前的以太网接口Cat.5走线系统架构未作其他改变的情形下,在为一些由于IP的终端设备(如IP电话机,无线网络连接点AP,网络摄像头等)传送数据数据信号的与此同时,还能为该类机器设备给予直流电源的技术性.便是适用以太网接口供电的交换机。POE交换机和普通交换机有什么区别呢? 关键分成五大层面的不一样:1.可靠性不一样;2.传送功能不一样;3.成本费不一样;4.供电方法不一样;5.操纵不一样。 1.可靠性不一样; POE交换机便是适用对网络线供电的交换机,和一般交换机对比便是受电终端设备(例如AP,数据监控摄像头等)不用再开展开关电源走线,对全部互联网来讲稳定性更高。不用像一般交换机一样开展开关电源走线,而且靠谱度更高。 2.传送功能不一样; POE交换机便是除开能给予一般交换机所具备的传送功能,还能给网络线的另一端机器设备给予供电功能。 3.成本费不一样; PoE交换机有很多的优点,不用分外的拉电缆线外,还能够节约成本,系统软件较为灵便,中后期的提升和维护保养简易。 4.供电方法不一样; POE交换机不仅可以完成一般交换机的传输数据功能还能与此同时对终端设备开展供电 。一般的交换机主要是互换数据信息的功能,并沒有具有供电的功能。 5.操纵不一样 PoE交换机和一般交换机的差别还取决于,一些特性好的PoE交换机还能够根据个性化操作面板对每一个PoE端口号及其全部机器设备的供电状况开展简单管理方法,更为便捷了操纵 普天信科工业交换机不仅是通讯网络设备、工业互联设备,更是联结快乐使者,帮助您联网系统在线自动巡检、在线精准定位故障。让您高枕无忧,为您省心、省时更省钱。普联天下,联结快乐——普天信科
23
2021-12
常见木头常见种类和木器工具有哪些?
木木头种类常见木材都有哪些? 目前国内实木家具市场主要的家具木材种类有:红木、柚木、胡桃楸木、水曲柳、榆木、枫木、桦木、榉木、樟木、松木、杨木、杉木等。 以下列举几种做家具常用的木材以作参考: 1、水曲柳最大的优点在于它的纹路美观清晰,适合现代简约的风格。水曲柳的缺点在于容易变形,因此水曲柳实木家具基本是主框架采用水曲柳实木,其余部分用小块的水曲柳木进行拼接。 2、榉木质地坚硬,纹理美观,中国古代有“北榆南榉”之说,指的是北方家具多用榆木,南方家具多用榉木,可作为床、桌、柜的主材。 3、杉木特点是结构均匀,强度适中,能抗虫耐腐。它的缺点主要有两个:内部纤维疏松,而且含水率高,表面硬度较软,容易引起划痕;第二个缺点是结疤多,因此价格最便宜。 4、在实木家具中,松木家具占有相当数量,特别是儿童家具,多采用松木。特点是质地较硬,纹理清晰,相对杉木来说,樟子松的木纹会漂亮一些,结疤也比较少。 5、榆木不容易变形,硬度与强度都适中,刨面光滑,适宜雕刻。用榆木做成的家具纹理粗犷,风格质朴,目前中式家具较多采用榆木。 6、橡木的特点是硬、纹理直,结构粗,色泽淡雅,纹理美观,耐磨损,缺点是不容易干燥、锯解,大面积使用容易变形。因此,所谓的橡木家具,其原料实际上是橡木做成的指接板。 不同木种的实木板材价格也会有所不同,所以要根据自身的预算来进行选择,同时也要注意环保等级。 下边附上照片列举几种! 数控开榫机 木器用具常用工具都有哪些? 木工用的工具有哪些 木工工具分为电动工具、气动工具和手动工具。电动工具从功能分可分为多功能工具(万应宝)和单功能工具(如电刨、曲线锯、电圆锯、砂磨机和雕刻机);气动工具有磨光机和打钉机;手动工具可分为量具、手工锯、木工刨、木锉刀、手工凿、木砂纸。 木工施工工具介绍 1、木工切割工具 在木工施工过程中,首先需要对材料进行切割,以方便造型。切割的工具主要有带有锯片的切割工作台、手持式切割机以及木工锯等。 2、木工刨削工具 在木工施工过程中,材料除了需要切割,可能还需要磨平,这时就需要刨削工具。刨是一种比较古老的木工工具,可以将板材刨削平直。此外,电锯片也可起到部分刨削的作用。 3、木工钻孔工具 在木龙骨吊顶装修过程中,往往需要在天花顶上钻孔,用来挂构件,这时就需要用到冲击钻。而在板材等材料上面钻孔,则可用电钻。 4、木工钉钉工具 木工施工过程中常见的工具还有钉钉固定的工具。在施工工地,小编常见的两种钉钉工具,一种是平常的手锤,第二种是码钉枪。利用手锤钉的钉子尺寸较大,而码钉枪钉的钉子尺寸较小。 5、油漆涂刷工具 木制品制成之后,一般都需要涂刷上木器漆。木器漆涂刷时需要借助一些工具。根据使用的上漆方法不同,选用的工具也有差别。 木器漆涂刷可以采用纱布擦涂、毛刷刷涂、喷枪喷涂以及滚筒滚涂,不同的情况下宜采取最适宜的工具。 此外,木器漆施工过程中,比较常用到的还有过滤网和砂纸。过滤网用于过滤木器漆中的杂质,砂纸用于打磨木材板面。 上面介绍的有关木工用的工具有哪些,木工施工工具介绍的全部知识,希望可以给大家带来帮助。木工工具,指应用于木材加工的器具。一般都有较锋利的刃口,使用时一定要注意安全。需要经常修磨,尤其是刨刀、凿刀,要随时磨得锋利,才能在使用时既省力,又保证质量。 木接结构常用榫卯结构都有哪些? 不为了卖点货、蹭点流量谁来发文章啊?感谢原作者,感谢搜狐平台,职业做机械更多机械信息可以关注 “http://www.hzskmgjx.com/”木器、木工工具、非标自动化工具,总之一句话是机械我就喜欢,咱们有的聊!
27
2021-2
一文搞清固废、危废、危险化学品
01 身边的固体废物 什么是固体废物 《固体废物污染环境防治法》第一百二十四条(一)定义,固体废物是指在生产、生活和其他活动中产生的丧失原有利用价值或者虽未丧失利用价值但被抛弃或者放弃的固态、半固态和置于容器中的气态的物品、物质以及法律、行政法规规定纳入固体废物管理的物品、物质。经无害化加工处理,并且符合强制性国家产品质量标准,不会危害公众健康和生态安全,或者根据固体废物鉴别标准和鉴别程序认定为不属于固体废物的除外。 我们身边有哪些常见的固体废物呢? 1、人们每天生活中都会产生大量固体废物,如餐厨垃圾、快递包装废物、废电瓶等; 日常生活中常见的固体废物(餐厨垃圾、快递包装废物等) 2、企业生产过程中也会产生工业固体废物,如矿山企业产生的尾矿、矸石、废石等矿业固体废物,交通运输制造业产生的废旧轮胎、橡胶,印刷企业产生的废纸,服装加工业产生的边角废料、皮革边等。 工业生产中常见的固体废物(废石、废轮胎、印刷废纸、废皮革等) 国家对于固体废物的法律认定 02 身边的危险废物 什么是危险废物? 《固体废物污染环境防治法》第一百二十四条(六)定义,危险废物是指列入国家危险废物名录或者根据国家规定的危险废物鉴别标准和鉴别方法认定的具有危险特性的固体废物。危险废物属于固体废物。 国家对于危险废物的法律认定 根据《危险废物鉴别标准通则》(GB5085.7-2019),认定为危险废物主要有以下情形: 1、凡是列入国家危险废物名录的废物种类都是危险废物; 2、虽没有列入国家的危险废物名录的废物,但是根据国家规定的危险废物鉴别标准和鉴别方法,具有腐蚀性、毒性、易燃性、反应性中一种或一种以上危险特性的固体废物,属于危险废物; 3、对未列入《国家危险废物名录》且根据危险废物鉴别标准无法鉴别,但可能对人体健康或生态环境造成有害影响的固体废物,由国务院生态环境主管部门组织专家认定。 危险废物 ≠ 一般固体废物 这些具有毒性、易燃性、腐蚀性、传染性、反应性等不同危险性的废物,我们该怎样管理、贮存呢? 危险废物不同于一般的固体废物,具有一定的危险性,因此,要对危险废物实行重点控制和严格管理。危险废物的环境污染防治包括产生、贮存、运输、利用、处置几个环节,必须要根据其特性,采取“因废制宜、分类控制”的污染防治原则。根据《固体废物污染环境防治法》第八十一条,收集、贮存危险废物,应当按照危险废物特性分类进行。禁止混合收集、贮存、运输、处置性质不相容而未经安全性处置的危险废物。 危险废物依其危险特性的不同而分为不同的种类,如毒性(含急性毒性、浸出毒性等)、易燃性、腐蚀性、传染性、反应性等。因此,对于不同种类的危险废物,必须根据其特性,实施适合其特性的污染防治要求,采取不同的污染防治措施,即采取“因废制宜,分类控制”的污染防治原则。如果对性质相异的各类危险废物均采取相同的污染防治措施,则不仅不能有效控制污染,反而可能会扩大或加重污染危害。 贮存的危险废物 企业作为危险废物污染防治的责任主体,应按照《危险废物贮存污染控制标准》《危险废物收集贮存运输技术规范》等标准规范在危险废物贮存设施建设、运行和管理阶段有效管控环境风险。 03 认认身边的危险化学品 什么是危险化学品? 《危险化学品安全管理条例》第三条定义,本条例所称危险化学品,是指具有毒害、腐蚀、爆炸、燃烧、助燃等性质,对人体、设施、环境具有危害的剧毒化学品和其他化学品。 图10 危险化学品标签 危险化学品的生产、储存、使用、经营、运输等每个环节都不可掉以轻心,这就要求实施安全监督管理的相关部门都要担起各自的职责来。 安全生产监督管理部门负责危险化学品安全监督管理综合工作,组织确定、公布、调整危险化学品目录,对新建、改建、扩建生产、储存危险化学品(包括使用长输管道输送危险化学品)的建设项目进行安全条件审查,核发危险化学品安全生产许可证、危险化学品安全使用许可证和危险化学品经营许可证,并负责危险化学品登记工作。 图11 企业持有的危险化学品经营许可证 公安机关负责危险化学品的公共安全管理,核发剧毒化学品购买许可证、剧毒化学品道路运输通行证,并负责危险化学品运输车辆的道路交通安全管理。 质量监督检验检疫部门负责核发危险化学品及其包装物、容器(不包括储存危险化学品的固定式大型储罐,下同)生产企业的工业产品生产许可证,并依法对其产品质量实施监督,负责对进出口危险化学品及其包装实施检验。 环境保护主管部门负责废弃危险化学品处置的监督管理,组织危险化学品的环境危害性鉴定和环境风险程度评估,确定实施重点环境管理的危险化学品,负责危险化学品环境管理登记和新化学物质环境管理登记;依照职责分工调查相关危险化学品环境污染事故和生态破坏事件,负责危险化学品事故现场的应急环境监测。 交通运输主管部门负责危险化学品道路运输、水路运输的许可以及运输工具的安全管理,对危险化学品水路运输安全实施监督,负责危险化学品道路运输企业、水路运输企业驾驶人员、船员、装卸管理人员、押运人员、申报人员、集装箱装箱现场检查员的资格认定。铁路主管部门负责危险化学品铁路运输的安全管理,负责危险化学品铁路运输承运人、托运人的资质审批及其运输工具的安全管理。民用航空主管部门负责危险化学品航空运输以及航空运输企业及其运输工具的安全管理。 卫生主管部门负责危险化学品毒性鉴定的管理,负责组织、协调危险化学品事故受伤人员的医疗卫生救援工作。 工商行政管理部门依据有关部门的许可证件,核发危险化学品生产、储存、经营、运输企业营业执照,查处危险化学品经营企业违法采购危险化学品的行为。 邮政管理部门负责依法查处寄递危险化学品的行为。 危险化学品的废弃和处置 危险化学品不能随意废弃和处置,如何做好废弃危险化学品的综合监管? 图12 废弃的危险化学品 危险化学品具有爆炸、易燃、毒害、腐蚀、放射性等危险特性,废弃前相关的程序必须要履行。 从危险化学品→废弃危险化学品→危险废物分2个环节,4个步骤: 环节1:危险化学品→废弃危险化学品 步骤1 危险化学品拟废弃处置的,生产、储存危险化学品的单位应将处置方案报所在地县级人民政府安全生产监督管理部门、工业和信息化主管部门、环境保护主管部门和公安机关备案。 法律依据 《危险化学品安全管理条例》 第二十七条规定“生产、储存危险化学品的单位转产、停产、停业或者解散的,应当采取有效措施,及时、妥善处置其危险化学品生产装置、储存设施以及库存的危险化学品,不得丢弃危险化学品;处置方案应当报所在地县级安监部门、工信部门、环保部门和公安机关备案。安全生产监督管理部门应当会同环境保护主管部门和公安机关对处置情况进行监督检查,发现未依照规定处置的,应当责令其立即处置”; 第六条规定“安全生产监督管理部门负责危险化学品安全监督管理综合工作”、“环境保护主管部门负责废弃危险化学品处置的监督管理”; 第二条第二款规定“废弃危险化学品的处置,依照有关环境保护的法律、行政法规和国家有关规定执行”。 步骤2 企业对在常温常压下易爆、易燃及排出有毒气体的危险化学品进行预处理,使之稳定后贮存。否则,按易爆、易燃危险品贮存。 法律依据 1、《危险化学品安全管理条例》 第六条规定“安监部门负责危险化学品安全监督管理综合工作……核发危险化学品安全生产许可证、危险化学品安全使用许可证和危险化学品经营许可证,并负责危险化学品登记工作”; 2、《危险化学品经营单位安全评价导则(试行)》(安监管管二字〔2003〕第38号)要求企业“有健全的安全管理(包括教育培训、防火、动火、用火、检修、废弃物处理)制度”; 需要特别指出的是,即使危险化学品废弃后,物理危险性并未消除,仍属于危险化学品。 环节2:废弃危险化学品→危险废物 步骤3 生产、储存废弃危险化学品的单位,将废弃危险化学品预处理后可稳定贮存的,制定危险废物管理计划,向生态环境部门申报备案。 法律依据 2、《固体废物污染环境防治法》 第七十八条,“产生危险废物的单位,应当按照国家有关规定制定危险废物管理计划;建立危险废物管理台账,如实记录有关信息,并通过国家危险废物信息管理系统向所在地生态环境主管部门申报危险废物的种类、产生量、流向、贮存、处置等有关资料。”“危险废物管理计划应当报产生危险废物的单位所在地生态环境主管部门备案。” 危险废物管理计划备案登记表 步骤4 生产、储存单位,按危险废物管理要求规范做好废弃危险化学品的处置工作。生态环境部门做好废弃危险化学品处置污染防治的监督管理,应急管理部门做好废弃危险化学品处置的安全监督管理。 法律依据 《危险化学品安全管理条例》 第六条,“安全生产监督管理部门负责危险化学品安全监督管理综合工作”、“环境保护主管部门负责废弃危险化学品处置的监督管理”。 如果企业没有履行上述程序,就要承担以下法律责任了。 1、企业不妥善处置废弃危险废物化学品、未将处置方案向有关部门报备的,根据《危险化学品安全管理条例》第 八十二条:生产、储存、使用危险化学品的单位转产、停产、停业或者解散,未采取有效措施及时、妥善处置其危险化学品生产装置、储存设施以及库存的危险化学品,或者丢弃危险化学品的,由安全生产监督管理部门责令改正,处5万元以上10万元以下的罚款;构成犯罪的,依法追究刑事责任;生产、储存、使用危险化学品的单位转产、停产、停业或者解散,未依照本条例规定将其危险化学品生产装置、储存设施以及库存危险化学品的处置方案报有关部门备案的,分别由有关部门责令改正,可以处1万元以下的罚款;拒不改正的,处1万元以上5万元以下的罚款。 2、企业危险化学品贮存不规范的,根据《危险化学品安全管理条例》 第八十条:生产、储存、使用危险化学品的单位有下列情形之一的,由安全生产监督管理部门责令改正,处5万元以上10万元以下的罚款;拒不改正的,责令停产停业整顿直至由原发证机关吊销其相关许可证件,并由工商行政管理部门责令其办理经营范围变更登记或者吊销其营业执照;有关责任人员构成犯罪的,依法追究刑事责任。 (一)对重复使用的危险化学品包装物、容器,在重复使用前不进行检查的; (二)未根据其生产、储存的危险化学品的种类和危险特性,在作业场所设置相关安全设施、设备,或者未按照国家标准、行业标准或者国家有关规定对安全设施、设备进行经常性维护、保养的; (三)未依照本条例规定对其安全生产条件定期进行安全评价的; (四)未将危险化学品储存在专用仓库内,或者未将剧毒化学品以及储存数量构成重大危险源的其他危险化学品在专用仓库内单独存放的; (五)危险化学品的储存方式、方法或者储存数量不符合国家标准或者国家有关规定的; (六)危险化学品专用仓库不符合国家标准、行业标准的要求的; (七)未对危险化学品专用仓库的安全设施、设备定期进行检测、检验的。未将危险化学品储存在专用仓库内,或者未将剧毒化学品以及储存数量构成重大危险源的其他危险化学品在专用仓库内单独存放的。 危险化学品仓库 3、企业未向生态环境部门申报危险废物管理计划的,根据《固体废物污染环境防治法》第一百一十二条:未按照国家有关规定制定危险废物管理计划或者申报危险废物有关资料的,由生态环境主管部门责令改正,处以罚款,没收违法所得;情节严重的,报经有批准权的人民政府批准,可以责令停业或者关闭。 4、企业不处置或不规范处置危险废物的,根据《固体废物污染环境防治法》,企业将危险废物提供或者委托给无许可证的单位或者其他生产经营者从事经营活动的,生态环境主管部门责令改正,处以罚款,没收违法所得;情节严重的,报经有批准权的人民政府批准,可以责令停业或者关闭。企业未按照规定处置其产生的危险废物被责令改正后拒不改正的,由生态环境主管部门组织代为处置,处置费用由危险废物产生者承担;拒不承担代为处置费用的,处代为处置费用一倍以上三倍以下的罚款。构成违反治安管理行为的,由公安机关依法给予治安管理处罚;构成犯罪的,依法追究刑事责任;造成人身、财产损害的,依法承担民事责任。 非法倾倒危险废物 来源:危废世界
7
2022-11
心理测试:四匹狼凭第一直觉选择最喜欢的,预测下一周的财运
心理测试:四匹狼凭第一直觉选择最喜欢的,预测下一周的财运 A B C D 下面为你公布答案: 答案A:一周财运很小可能会降临 在即将到来的一周里,你一直处在一种自我满足的状态中,你认为自己的钱够花了,就不需要自己努力的工作了。你甚至会挥霍你目前拥有的钱财,你觉得花钱会给你带来很大的快乐,你很享受这种状态,你的挥霍会给你的未来带来很多的麻烦,花的钱越多你越觉得自己很开心,因此在即将到来的一周里你的财运很小可能会降临。 答案B:很大可能会有财神降临 你是不怕吃苦的人,你认为生活本来就是苦乐相伴的,你不会因为吃苦就放弃你的理想和目标。身边的人总是认为你很忙碌,你每天忙着为自己的生活打拼,对于任何可以让自己成长的机会,你都不会拒绝,你凭借自身的意志力,会对自己的目标不断地进行努力,一直相信“失败是成功之母”,不断的努力尝试着。因此近期很大可能会有财神来敲你的门。一定要加油哦! 答案C:一周财运不错 你是一个很聪明的人,你很会扩展你的人脉关系,并且好好地经营着,所以你周围的朋友很多,朋友多了路好走,人脉就相当于钱脉,你可以通过身边的朋友获得更多更好的资源,有了这些资源,你就不愁赚不到钱了,你赚钱的速度会比别人更快,赚钱的方式也更加的轻松。只是,你自身的实力还是很重要的,否则就算得到了资源也未必能把握住资源,所以你要努力的提高自己的实力。 答案D:一周财运不太好 你的财运可能不会有转变,在财运方面,你总是抱着特别美好的想象,其实,你的想法是不太现实的,你的财运根本没有你想象中的那般好。你热衷于投资一些高风险高收益的项目,总认为自己可以从中赚取很多的钱,但是,不是每次你都会得偿所愿,在投资理财项目上,你应该慎重一些,做好风险规划,尤其是在自己觉得没把握的情况下,你更应该谨慎些。否则你只会把钱白白地浪费掉而已。
6
2022-2
什么是高频开关电源?其构成和原理是什么?
高频开关电源,其英文名称为Switching Mode Power Supply,又称交换式电源、开关变换器以及开关型整流器SMR,它是一种高频化电能转换装置。其功能是将一个位准的电压,透过不同形式的架构转换为用户端所需求的电压或电流。它主要是通过MOSFET或IGBT的高频工作,开关频率一般控制在50-100kHz范围内,实现高效率和小型化。 高频开关电源构成原理 高频开关电源主要由主电路、控制电路、检测电路以及辅助电源等四部分构成。 主电路,主要包括输入滤波器、整流与滤波、逆变以及输出整流与滤波,最终可以提供稳定可靠的直流电源。 控制电路,它可以通过控制逆变器,改变其频率或脉宽,达到输出稳定,还可以提供控制电路对整机进行各种保护措施。 检测电路,除了提供保护电路中正在运行中各种参数外,还提供各种显示仪表资料。 辅助电源,提供所有单一电路的不同要求电源。 高频开关电源--稳压原理 高频开关电源的主电路会将电网存在的杂波过滤,同时也阻碍本机产生的杂波反馈到公共电网,然后将电网交流电源直接整流为较平滑的直流电,以供下一级变换,再将整流后的直流电变为高频交流电,如果需要不同的频率和带宽,可以通过控制电路来控制逆变器来获得,最后根据负载需要,提供稳定可靠的直流电源,同时控制电路可以对整机进行各种保护措施。 随着电镀技术的不断提升与发展,开瑞生产的高频开关电源不断地提高产品的稳定性及产品质量,与电化学的完美结合,更好的服务于表面处理行业。为您打造高品质优质的电镀工件,奠定坚实的基础。
10
2021-2
搪瓷釜磨损破损的修补方法——索雷碳纳米聚合物材料
搪瓷反应釜是化工行业不可缺少的防腐设备,在使用中机械碰撞、温度急变等因素经常引起脱瓷、裂纹、气泡、气孔和面釉的其他损伤,这些缺陷在搪瓷设备中是决不允许的, 一旦发生这种现象,必须进行修补。一个搪瓷釜价值几万元,由于局部爆瓷而报废十分可惜。采取适当维修,设备仍能使用,具有很好的实际意义和可观的经济效益。本文对搪瓷釜的破损原因进行分析,找到预防方法,并提出修复措施,可供搪瓷釜制造厂家和广大用户参考。 搪瓷釜大面积搪瓷损坏,需将设备送制造厂重新搪瓷,费用约是新购置的1/4。损坏面积不大的可在现场进行局部修补。采用现场快速修复,不用拆设备,只需打开人孔即可修复,修复后24小时即可投入使用。现场修补剂有环氧树脂、聚四氟乙烯树脂、高性能搪瓷修补剂等。下面介绍的是索雷碳纳米聚合物材料修补搪瓷釜磨损破损的方法。 搪瓷釜磨损破损的修补方法——索雷碳纳米聚合物材料 索雷碳纳米聚合物材料是由纳米无机材料、碳纳米管增强的高性能环氧双组份复合材料。该材料最大优点是利用特殊的纳米无机材料与环氧环状分子的氧进行键合,提高分子间的键力,从而大幅提高材料的综合性能,可很好的粘着于各种金属、混凝土、玻璃、塑料、橡胶等材料。有良好的抗高温、抗化学腐蚀性能。同时良好的机加工和耐磨性能可以服务于金属部件的磨损再造。 与普通树脂型的修补剂相比,该材料依靠自身更为细密的高分子结构,使得材料自身具有更强的粘接力和优异的耐腐蚀、抗腐蚀性能,高分子甚至能够渗透到金属里面,形成更为紧密的高分子复合材料保护层。 该材料具有较高的化学稳定性和良好的物理机械性能。利用该材料修补化工搪瓷设备, 不仅节约有色金属, 而且修补工艺简单,费用低,修理时间短,耐腐耐磨,很有探讨和推广价值。索雷碳纳米聚合物材料修复技术是目前较为成熟和性价比较高的一种维修方案。时间短、费用低、效果好是该技术的几个主要特点。采用索雷材料现场快速修复搪瓷釜磨损破损,操作简便、快速、效果好、经济效益高。 欣赏一下索雷碳纳米聚合物材料技术现场快速修补搪瓷釜磨损破损的实际案例图片! 进釜作业应注意以下事项: 1、电源。关严介质阀门。 2、有进釜许可证。 3、打磨时会产生火花,严防易燃易爆气体。 4、釜外应有监护人员。 5、进釜人员应戴上安全帽、面具、防毒口罩、手套,不作业时立即出釜。对破损应及时发现,及时修补,修补面积越小,效果越好。甲苯在使用过程中会部分发生氧化,氧化产物为有机酸,这些有机酸对金属有腐蚀作用。
12
2024-7
直击现场 | 和利时ZPW-2000S轨道电路设备助力兰张三四线高铁兰武段顺利开通!
6月29日10:50,C9832次高铁缓缓驶出武威东站,标志着新建兰州至张掖三四线铁路中川机场至武威段(以下简称“兰张三四线高铁兰武段”)顺利开通!自此,丝路重镇武威市接入全国高铁网,正式步入高铁时代。兰张三四线高铁兰武段自兰州新区中川机场地下站引出,途径甘肃兰州永登县,武威市天祝县、古浪县至武威市区,接入武威东站,正线全长194.231公里,最高时速按250公里运营。此后,武威东至兰州西站最快1小时56分可达,较目前普速旅客列车压缩58分钟;武威东至中川机场最快1小时11分可达。兰张铁路是国家中长期铁路网规划和“十二五”、“十三五”铁路发展规划的重大项目,也是兰州至新疆方向继兰新高铁后的第二条高铁通道,线路开通进一步完善了我国西部地区高铁网,极大便利沿线人民群众出行,对促进沿线城镇化进程,推进西部大开发战略实施具有十分重要的意义。兰张三四线高铁兰武段采用了和利时提供的ZPW-2000S轨道电路设备,并由和利时提供了涵盖系统设计、产品研发、生产制造、测试验证、工程实施等在内的全生命周期技术服务。高质量设备交付、高标准现场服务自项目中标以来历时一年,和利时高度重视,调配骨干力量全力保证项目的顺利实施。团队成员始终保持着积极严谨的工作态度、高度认真负责的精神,以不畏艰险的拼搏干劲克服了恶劣交通、地理、气候环境的影响,以过硬的技术能力出色地完成了各项工作任务,确保了兰张三四线高铁兰武段的顺利开通,得到业主单位和设备管理单位的高度评价与认可。兰张三四线高铁兰武段的顺利开通,再一次充分彰显了和利时在交通行业设计、研发、调试、施工等方面的综合实力。未来,和利时将始终坚持“真诚地为用户设想”理念,持续保障兰张三四线高铁的安全稳定运营。同时,和利时也将继续坚持自主创新,持续地为用户提供更可靠、更安全、更智慧的技术和产品,为交通强国建设贡献力量!
13
2021-9
铝制车身专用铆钉枪选什么
我们小伙伴们都知道,汽车作为如今生活中一个必不可少的代步工具,可以说非常的重要,有的汽车甚至可以是身份和地位的象征,那么对于汽车和铆接行业你有没有过深入的了解呢?今天速耐小编带你了解汽车和铆接行业中铆钉枪的关系! 汽车在生产过程中的部件是非常的多的,可以说是多且杂,所以一辆汽车也注定了不会很便宜,那么汽车和铆接行业有什么关系呢?汽车中的很多部件都是需要铆钉枪铆接来将工件进行固定的,这是其他方法替代不了的,铆接应用非常的广泛,在汽车中,可能随便拿出一个部件都是靠铆接来固定的,比如说我们的车门,又比如说我们的汽车的框架,在汽车工厂流水线上,需要在规定时间内铆接好部件,并进入下一步组装,常规人工已经不能满足生产线要求,气动工具的出现为流水线生产提供了助力。 速耐作为一家18年的气动工具厂家,服务的客户也很多,其中也有很多的汽车铆接行业的大品牌在生产的时候选择了速耐的铆钉枪,专营气动工具,专注于此,为顾客们提供高品质工具,助力汽车行业生产,希望能够为更多的顾客们提供优质的服务!
11
2021-3
医用红外热像仪在亚健康状态方面的检测作用
亚健康状态是一种人体生命活力和功能的异常状态,不仅表现在生理功能或代谢功能的异常,也包含了心理状态的不适应和社会适应能力的异常,其最大的特点就是尚无确切的病变客观指标,但却有明显的临床症状。“亚健康”不等于“未病”,它是疾病发生前的一个可逆转时期,是预防疾病发生的重要时机。亚健康检测可以在人体还没有出现明显的症状和体征之前检测出即将或可能发生的疾病,指导早期干预,延缓或避免疾病的发生。因此,及时检测出亚健康状态,对疾病的提前预防将是莫大的帮助。 红外热成像技术应用于医学领域已经有几十年的时间了。随着我国医用红外热成像技术发展的速度加快,和TMT医用红外热成像仪的不断普及和人们对红外热成像技术认识的不断加深,医用红外热像仪对于人体亚健康状态检测和评估的优势逐渐凸显出来,加上其检测过程中的无辐射、无创、无痛等诸多优势,越来越多的医疗机构、体检机构、健康管理机构等开始使用医用红外热像仪,开启对人们身体功能状态的检测、评估,以及对重大疾病的早期预警和筛查。TMT医用红外热像仪在中医基础理论研究、亚健康理论研究、辅助医学临床诊疗、大病早期预警,以及重点专科、治未病中心、体检中心、亚健康专业调理机构等应用与建设中发挥了日益重要的作用。 中医理论与红外热成像技术原理具有高度的吻合性,中医学理论核心是整体辩证观和动态平衡观,而红外热成像技术可以获得人体连续的、动态的功能代谢信息,提示机体的功能状态及发展趋势,因此,TMT医用红外热成像技术可以用于研究中医学的基本理论具有良好的可行性 。而且红外热成像技术的特点是收集和分析人体表现热辐射源信息,也符合中医“有诸内必形诸外”“司外揣内,以象察脏”的诊断思想。 在中医理论的指导下,结合红外热成像检测技术,可在临床诊治许多的患者和亚健康人群,如宫寒不孕、感染高热待查、疼痛、乳腺增生、乳腺癌、中风、冠心病、糖尿病足、失眠、疲劳综合征等病症,都获得了良好的临床疗效。且在红外检测前后的热成像对比上,亦有客观明显的改善,因此,我们还可以用红外热成像检测技术来评价药物干预治疗的效果,目前在TMT医用红外热像仪在各医院临床科室、治未病中心、体检中心、健康管理中心已得到广泛应用,应用TMT医用红外热成像技术累计完成了超过千万例检测;与全国十多家著名医院开展了TMT医用红外热成像临床适宜技术的研究工作,形成了在体检、中医、疼痛、骨伤、肛肠、五官、皮肤、心脑血管、乳腺、心理等领域的医学应用成果。 正是由于医用红外热成像技术的这种功能影像学的存在,使我们能对未病状态得以评估和量化,预知人体疾病的发生情况。目前在亚健康领域得到了广泛的应用,如评测亚健康及未病状态、指导亚健康干预调理、对干预前后客观化的疗效评价等,是目前认知亚健康最有力的测评手段。
27
2021-10
探讨仪器仪表产业链变革之路,推动企业高质量发展
“把工业经济比作一条龙的话,仪器仪表行业就是龙之眼。” 中国仪器仪表行业协会副理事长毛磊如是说。作为我国制造业的重要组成部分,仪器仪表行业在推动国民经济发展方面发挥了重要作用。经过多年发展,我国仪器仪表行业已经具备了相当的产业规模,步入仪器仪表生产大国。 根据有关数据显示,2020年我国仪器仪表制造业营业收入达7660.0亿元,2021年上半年我国仪器仪表制造业营业收入达3996.5亿元,同比增长25.7%。行业利润逐渐回升,需求进一步扩大。 图片来源:观研报告网 此外,由于新基建七大领域包含5G基建、特高压、城际高速铁路和城际轨道交通、新能源汽车充电桩、大数据中心、人工智能、工业互联网等,涉及到多个社会民生重点行业。而这七大领域和多个行业的发展都需要仪器仪表设备及相关硬件制造。对于与宏观经济、固定资产投资密切相关的仪器仪表行业来说,必然也会给企业带来新的机遇。 然而在产业高歌猛进的另一方面,随着经济的转型,世界制造业的不断转移,仪器仪表行业中许多亟需解决的问题也开始逐渐表现出来,采购管理混乱,供应商供货质量参差不齐,创新能力薄弱等一些“卡脖子”问题仍在制约着我国仪器仪表行业的可持续发展。在行业迈入高质量发展阶段,我国仪器仪表行业如何变大变强?如何还通过数字化改造带来更好的发展?还需要发挥以下这“四把刷子”的作用。 构建供应商管理系统,优化企业供应网络 对国内仪器仪表企业来说,与供应商之间保持紧密合作关系已经成为他们获取资源、传送供应链上的产品与服务的主要模式。目前,许多仪器仪表企业正在使用ERP系统来管理供应商,然而,市面上大部分的ERP系统仅仅只拥有供应商管理和招采功能,其主要是出于库存和会计为目标,来记录供应商信息和采购订单的,不能够很好的满足企业管理供应商的需要。而现代SRM系统,比如数商云 SRM供应商管理系统,则是从企业的招采策略出发,支持供应商绩效评估,通过淘汰或基于项目的招采来促进竞争的增加。 图片来源:数商云 建设专业的SRM供应商管理系统,通过SRM探索、审查和量化买方和供应商的关系,与供应商之间经常进行有关计划、作业计划、质量控制信息的交流与沟通,保持信息的一致性和准确性,有利于整合采供双方业务流程,提高合作效率,超前控制生产,共享库存和需求信息,共同抵御市场变化的风险。 此外,与供应商建立长期、紧密的业务关系,还有助于对双方资源和竞争优势的整合来共同开拓市场,从而扩大市场需求和份额,降低产品前期的高额成本,实现双赢的企业管理模式。总而言之,搞好供应商管理系统,建立科学合理的供应商选择及管理体系,不断优化企业的供应网络,对于提高供应商管理系统的效益,提高仪器仪表企业核心竞争力,有着重大的意义。 采购精细化管控,有效降低企业采购成本 由于行业的特殊性,无论是普通配件的采购还是原材料的采购,仪器仪表企业对品质的要求都非常之高,这就对质检提出较高要求,不仅要高效完成海量产品质检,还要满足各类产品不同的质检需求。如果没有现代化信息管理工具做支撑,采购管理难度和质检效率难以想象。 基于此,企业可选择通过搭建采购管理系统,突破传统人工采购局限,让企业采购全程在线化、数字化。从采购计划制定、询比价、招投标、供应商管理及考核、电子签章合同及订单、收货质检、对账付款等流程均实现电子化,规范好采购工作的组织实施,提高经济效益与采购的质量,提升采购效率,增加采购透明度,有效降低企业采购成本,增强核心竞争力。 图片来源:数商云 此外,系统还支持招采全过程可追溯,能够做到实时动态更新,业务数据长期保存,形成这个流程中数据信息的可追溯化管理。精细到工序级质检,不仅严格控制了产品质量,还减少了因质量问题导致的报废和损失。为了确保仪器仪表产品的质量追溯,企业还可对产品进行序列号管理,为每个产品标注专属的“身份证”编码,一旦出现质量问题,可追溯到产品的生产时间、生产工序、生产人员等,让产品质量责任到人。 打造B2B2C多用户商城, 充分融合线上线下销售渠道 在国内互联网技术的深入发展和渗透之下,基于庞大的互联网用户市场,国内越来越多的传统行业也逐渐加快了触网的步伐。特别是在近两年来,在新基建持续深化下,国内产业加速变革,移动互联网的主要阵地正从消费互联网向产业互联网转型。 站在变革的十字路口,很多仪表仪器企业都希望能够抓住转型机遇,实现数字化运营,为企业带来更多商机。对此,许多企业开始纷纷打造B2B2C多用户商城系统,顺应产业互联网改革浪潮并为用户营造更加富有吸引力的购物通道,在立足原有实体产业的基础上,充分利用先进信息技术将线下实体销售终端与线上销售渠道充分融合,打通线上线下的渠道壁垒,打造支持自营+招商入驻经营模式的电商平台,模块化设计整合运营商,城市站点,供货商,批发商,入驻商,分销商,门店于一体,各个模块可自由拆分组合,可以让商家在这个电商多样化的时代下随时调整运营方案。 图片来源:数商云 此外,其还基于微服务架构,结合了大中台、小前台、应用APP化的设计思想,让系统功能由一个个独立解耦的微服务应用构成,满足用户多元化的商城功能需求,包括商品管理、店铺管理、会员管理、促销优惠、数据统计、支付管理、订单管理等。通过商城的大数据分析能力,还可成功实现以用户需求数据为驱动的千人千面精细化运营,进而以“定制化”的产品与服务充分满足了市场用户的消费需求,轻松支持客户个性化功能定制,极大提升用户购物体验,大幅度提高了下单率和成交率。 强化供应链自主可控,实现核心技术自主创新 除上述信息系统的改造建设之外,近日召开的仪器仪表行业工作会议还指出,增强供应链自主可控能力,是目前产业的重点任务之一,产业供应链安全稳定是构建企业发展新格局的基础。 当前,我国仪器仪表行业所面临的挑战,除了低端产能过剩和高端产品供给不足同时并外存外,还有就是由于关键技术对外依赖较大,一些国家实施所谓的技术转让限制乃至“断供”给国内仪器仪表产业供应链带来的巨大冲击。 所以,要实现仪器仪表产业供应链的自主可控,核心技术的自主创新是最为重要、也是最为根本的解决之道。仪器仪表企业需开始在科技研发和科技人员激励方面加大投入,在“卡脖子”问题方面要尽快摆脱“依赖症”和“幻想症”。统筹推进补齐短板和锻造长板,在产业优势领域精耕细作,搞出更多独门绝技。 总结与思考 面对错综复杂的国际贸易及激烈的国内市场竞争形势,我国仪器仪表行业应牢牢抓住发展的战略优势期,本着“创新优先、改造供应、重点突破、技术融合”的原则,布局符合战略性新兴产业的发展规划与数字化改造,让企业持续健康、高质量的发展。 <本文由数商云•云朵匠原创,商业转载请联系作者获得授权,非商业转载请标明:数商云原创>
5
2021-10
动力工程系召开2021级新生与系领导见面会
9月18日上午,动力工程系在教六一阶召开2021级新生见面会,大会以“不负青春,扬帆起航”为主题,引导学生融入大学新生活,开启人生新航程。动力工程系党委书记曲涛、副主任张磊、副书记王栋、副主任钱江波、刘璐出席大会,全体教研室主任、辅导员、新生班主任和2021级新生参加会议。大会由2021级本科生辅导员张春明主持。 大会开始前,全体师生共同观看《百态动力万世之火》动力工程系宣传片。 大会首先进行“动力青年讲师团”聘任仪式。动力工程系党委副书记王栋宣读了《关于成立第二届“动力青年讲师团”的决定》,全体系领导为新选拔的讲师团成员颁发聘书。 随后,动力工程系党委书记曲涛向新生致辞。曲涛首先对全体新生表示热烈欢迎,他结合中国共产党建党100周年、抗“疫”精神等鲜活事例,向全体新生提出三点希望:一是要心怀感恩,坚定“四个自信”;二是要志存高远,矢志报国;三是要脚踏实地,不驰于空想,不骛于嘘声。最后,曲涛用一首刘禹锡的《秋词》再次表达对2021级新生的祝福与期盼。 动力工程系副主任张磊做动力工程系整体介绍。张磊从全系概况、师资队伍、人才培养、科学研究和杰出校友等方面进行详细介绍,同学们对全系的了解更加全面。张磊希望全体学生热爱所学专业,坚定深造决心,努力为我国能源行业发展贡献华电力量。 接下来,新生代表汪诺言同学进行了发言。她代表全体新生对来到华电学习表示感谢,并向全体新生发出倡议,在大学期间,全体新生要继续摆正态度,奋力拼搏,无论有怎样优秀的过去,都要以归零的态度面对大学生活;要认真理解校训,用实际行动传承华电精神,为实现华电梦、中国梦努力奋斗。 在校生代表曹琪汭同学进行发言。他指出大学轻松与否取决于同学们对自身的定位与目标,他结合自身经历,从努力学习、认真参加社团活动、培养兴趣特长等方面为新生适应大学生活提供启发。 见面会结束后,各专业分别召开专业介绍会。 扫码关注我们 动力青年指引 欢迎大家关注动力工程系抖音 (抖音号:hddlgcx) 动力青年指引 微信公众号官方平台 扫码关注我们
9
2024-4
G2D图像处理硬件调用和测试-基于米尔-全志T113-i开发板
MYC-YT113i核心板及开发板真正的国产核心板,100%国产物料认证国产T113-i处理器配备2*Cortex-A7@1.2GHz ,RISC-V外置DDR3接口、支持视频编解码器、HiFi4 DSP接口丰富:视频采集接口、显示器接口、USB2.0 接口、CAN 接口、千兆以太网接口工业级:-40℃~+85℃、尺寸37mm*39mm邮票孔+LGA,140+50PIN全志 T113-i 2D图形加速硬件支持情况Supports layer size up to 2048 x 2048 pixelsSupports pre-multiply alpha image dataSupports color keySupports two pipes Porter-Duff alpha blendingSupports multiple video formats 4:2:0, 4:2:2, 4:1:1 and multiple pixel formats (8/16/24/32 bits graphicslayer)Supports memory scan order optionSupports any format convert functionSupports 1/16× to 32× resize ratioSupports 32-phase 8-tap horizontal anti-alias filter and 32-phase 4-tap vertical anti-alias filterSupports window clipSupports FillRectangle, BitBlit, StretchBlit and MaskBlitSupports horizontal and vertical flip, clockwise 0/90/180/270 degree rotate for normal bufferSupports horizontal flip, clockwise 0/90/270 degree rotate for LBC buffer可以看到 g2d 硬件支持相当多的2D图像处理,包括颜色空间转换,分辨率缩放,图层叠加,旋转等开发环境配置基础开发环境搭建参考上上上一篇https://bbs.elecfans.com/jishu_2408808_1_1.html除了工具链外,我们使用 opencv-mobile 加载输入图片和保存结果,用来查看颜色转换是否正常g2d硬件直接采用标准的 Linux ioctl 操纵,只需要引入相关结构体定义即可,无需链接sohttps://github.com/MYIR-ALLWINNER/framework/blob/develop-yt113-framework/auto/sdk_lib/include/g2d_driver.h此外,g2d的输入和输出数据必须在dmaion buffer上,因此还需要dmaion.h头文件,用来分配和释放dmaion bufferhttps://github.com/MYIR-ALLWINNER/framework/blob/develop-yt113-framework/auto/sdk_lib/include/DmaIon.h基于C语言实现的YUV转RGB这里复用之前T113-i JPG解码的函数void yuv420sp2rgb(const unsigned char* yuv420sp, int w, int h, unsigned char* rgb){    const unsigned char* yptr = yuv420sp;    const unsigned char* vuptr = yuv420sp + w * h;    for (int y = 0; y < h; y += 2)    {        const unsigned char* yptr0 = yptr;        const unsigned char* yptr1 = yptr + w;        unsigned char* rgb0 = rgb;        unsigned char* rgb1 = rgb + w * 3;        int remain = w;#define SATURATE_CAST_UCHAR(X) (unsigned char)::std::min(::std::max((int)(X), 0), 255);        for (; remain > 0; remain -= 2)        {            // R = 1.164 * yy + 1.596 * vv            // G = 1.164 * yy - 0.813 * vv - 0.391 * uu            // B = 1.164 * yy              + 2.018 * uu            // R = Y + (1.370705 * (V-128))            // G = Y - (0.698001 * (V-128)) - (0.337633 * (U-128))            // B = Y + (1.732446 * (U-128))            // R = ((Y << 6) + 87.72512 * (V-128)) >> 6            // G = ((Y << 6) - 44.672064 * (V-128) - 21.608512 * (U-128)) >> 6            // B = ((Y << 6) + 110.876544 * (U-128)) >> 6            // R = ((Y << 6) + 90 * (V-128)) >> 6            // G = ((Y << 6) - 46 * (V-128) - 22 * (U-128)) >> 6            // B = ((Y << 6) + 113 * (U-128)) >> 6            // R = (yy + 90 * vv) >> 6            // G = (yy - 46 * vv - 22 * uu) >> 6            // B = (yy + 113 * uu) >> 6            int v = vuptr[0] - 128;            int u = vuptr[1] - 128;            int ruv = 90 * v;            int guv = -46 * v + -22 * u;            int buv = 113 * u;            int y00 = yptr0[0] << 6;            rgb0[0] = SATURATE_CAST_UCHAR((y00 + ruv) >> 6);            rgb0[1] = SATURATE_CAST_UCHAR((y00 + guv) >> 6);            rgb0[2] = SATURATE_CAST_UCHAR((y00 + buv) >> 6);            int y01 = yptr0[1] << 6;            rgb0[3] = SATURATE_CAST_UCHAR((y01 + ruv) >> 6);            rgb0[4] = SATURATE_CAST_UCHAR((y01 + guv) >> 6);            rgb0[5] = SATURATE_CAST_UCHAR((y01 + buv) >> 6);            int y10 = yptr1[0] << 6;            rgb1[0] = SATURATE_CAST_UCHAR((y10 + ruv) >> 6);            rgb1[1] = SATURATE_CAST_UCHAR((y10 + guv) >> 6);            rgb1[2] = SATURATE_CAST_UCHAR((y10 + buv) >> 6);            int y11 = yptr1[1] << 6;            rgb1[3] = SATURATE_CAST_UCHAR((y11 + ruv) >> 6);            rgb1[4] = SATURATE_CAST_UCHAR((y11 + guv) >> 6);            rgb1[5] = SATURATE_CAST_UCHAR((y11 + buv) >> 6);            yptr0 += 2;            yptr1 += 2;            vuptr += 2;            rgb0 += 6;            rgb1 += 6;        }#undef SATURATE_CAST_UCHAR        yptr += 2 * w;        rgb += 2 * 3 * w;    }}基于ARM neon指令集优化的YUV转RGB考虑到armv7编译器的自动neon优化能力较差,这里针对性的编写 arm neon inline assembly 实现YUV2RGB内核部分,达到最优化的性能,榨干cpu性能void yuv420sp2rgb_neon(const unsigned char* yuv420sp, int w, int h, unsigned char* rgb){    const unsigned char* yptr = yuv420sp;    const unsigned char* vuptr = yuv420sp + w * h;#if __ARM_NEON    uint8x8_t _v128 = vdup_n_u8(128);    int8x8_t _v90 = vdup_n_s8(90);    int8x8_t _v46 = vdup_n_s8(46);    int8x8_t _v22 = vdup_n_s8(22);    int8x8_t _v113 = vdup_n_s8(113);#endif // __ARM_NEON    for (int y = 0; y < h; y += 2)    {        const unsigned char* yptr0 = yptr;        const unsigned char* yptr1 = yptr + w;        unsigned char* rgb0 = rgb;        unsigned char* rgb1 = rgb + w * 3;#if __ARM_NEON        int nn = w >> 3;        int remain = w - (nn << 3);#else        int remain = w;#endif // __ARM_NEON#if __ARM_NEON#if __aarch64__        for (; nn > 0; nn--)        {            int16x8_t _yy0 = vreinterpretq_s16_u16(vshll_n_u8(vld1_u8(yptr0), 6));            int16x8_t _yy1 = vreinterpretq_s16_u16(vshll_n_u8(vld1_u8(yptr1), 6));            int8x8_t _vvuu = vreinterpret_s8_u8(vsub_u8(vld1_u8(vuptr), _v128));            int8x8x2_t _vvvvuuuu = vtrn_s8(_vvuu, _vvuu);            int8x8_t _vv = _vvvvuuuu.val[0];            int8x8_t _uu = _vvvvuuuu.val[1];            int16x8_t _r0 = vmlal_s8(_yy0, _vv, _v90);            int16x8_t _g0 = vmlsl_s8(_yy0, _vv, _v46);            _g0 = vmlsl_s8(_g0, _uu, _v22);            int16x8_t _b0 = vmlal_s8(_yy0, _uu, _v113);            int16x8_t _r1 = vmlal_s8(_yy1, _vv, _v90);            int16x8_t _g1 = vmlsl_s8(_yy1, _vv, _v46);            _g1 = vmlsl_s8(_g1, _uu, _v22);            int16x8_t _b1 = vmlal_s8(_yy1, _uu, _v113);            uint8x8x3_t _rgb0;            _rgb0.val[0] = vqshrun_n_s16(_r0, 6);            _rgb0.val[1] = vqshrun_n_s16(_g0, 6);            _rgb0.val[2] = vqshrun_n_s16(_b0, 6);            uint8x8x3_t _rgb1;            _rgb1.val[0] = vqshrun_n_s16(_r1, 6);            _rgb1.val[1] = vqshrun_n_s16(_g1, 6);            _rgb1.val[2] = vqshrun_n_s16(_b1, 6);            vst3_u8(rgb0, _rgb0);            vst3_u8(rgb1, _rgb1);            yptr0 += 8;            yptr1 += 8;            vuptr += 8;            rgb0 += 24;            rgb1 += 24;        }#else        if (nn > 0)        {            asm volatile(                "0:                             \n"                "pld        [%3, #128]          \n"                "vld1.u8    {d2}, [%3]!         \n"                "vsub.s8    d2, d2, %12         \n"                "pld        [%1, #128]          \n"                "vld1.u8    {d0}, [%1]!         \n"                "pld        [%2, #128]          \n"                "vld1.u8    {d1}, [%2]!         \n"                "vshll.u8   q2, d0, #6          \n"                "vorr       d3, d2, d2          \n"                "vshll.u8   q3, d1, #6          \n"                "vorr       q9, q2, q2          \n"                "vtrn.s8    d2, d3              \n"                "vorr       q11, q3, q3         \n"                "vmlsl.s8   q9, d2, %14         \n"                "vorr       q8, q2, q2          \n"                "vmlsl.s8   q11, d2, %14        \n"                "vorr       q10, q3, q3         \n"                "vmlal.s8   q8, d2, %13         \n"                "vmlal.s8   q2, d3, %16         \n"                "vmlal.s8   q10, d2, %13        \n"                "vmlsl.s8   q9, d3, %15         \n"                "vmlal.s8   q3, d3, %16         \n"                "vmlsl.s8   q11, d3, %15        \n"                "vqshrun.s16 d24, q8, #6        \n"                "vqshrun.s16 d26, q2, #6        \n"                "vqshrun.s16 d4, q10, #6        \n"                "vqshrun.s16 d25, q9, #6        \n"                "vqshrun.s16 d6, q3, #6         \n"                "vqshrun.s16 d5, q11, #6        \n"                "subs       %0, #1              \n"                "vst3.u8    {d24-d26}, [%4]!    \n"                "vst3.u8    {d4-d6}, [%5]!      \n"                "bne        0b                  \n"                : "=r"(nn),    // %0                "=r"(yptr0), // %1                "=r"(yptr1), // %2                "=r"(vuptr), // %3                "=r"(rgb0),  // %4                "=r"(rgb1)   // %5                : "0"(nn),                "1"(yptr0),                "2"(yptr1),                "3"(vuptr),                "4"(rgb0),                "5"(rgb1),                "w"(_v128), // %12                "w"(_v90),  // %13                "w"(_v46),  // %14                "w"(_v22),  // %15                "w"(_v113)  // %16                : "cc", "memory", "q0", "q1", "q2", "q3", "q8", "q9", "q10", "q11", "q12", "d26");        }#endif // __aarch64__#endif // __ARM_NEON#define SATURATE_CAST_UCHAR(X) (unsigned char)::std::min(::std::max((int)(X), 0), 255);        for (; remain > 0; remain -= 2)        {            // R = 1.164 * yy + 1.596 * vv            // G = 1.164 * yy - 0.813 * vv - 0.391 * uu            // B = 1.164 * yy              + 2.018 * uu            // R = Y + (1.370705 * (V-128))            // G = Y - (0.698001 * (V-128)) - (0.337633 * (U-128))            // B = Y + (1.732446 * (U-128))            // R = ((Y << 6) + 87.72512 * (V-128)) >> 6            // G = ((Y << 6) - 44.672064 * (V-128) - 21.608512 * (U-128)) >> 6            // B = ((Y << 6) + 110.876544 * (U-128)) >> 6            // R = ((Y << 6) + 90 * (V-128)) >> 6            // G = ((Y << 6) - 46 * (V-128) - 22 * (U-128)) >> 6            // B = ((Y << 6) + 113 * (U-128)) >> 6            // R = (yy + 90 * vv) >> 6            // G = (yy - 46 * vv - 22 * uu) >> 6            // B = (yy + 113 * uu) >> 6            int v = vuptr[0] - 128;            int u = vuptr[1] - 128;            int ruv = 90 * v;            int guv = -46 * v + -22 * u;            int buv = 113 * u;            int y00 = yptr0[0] << 6;            rgb0[0] = SATURATE_CAST_UCHAR((y00 + ruv) >> 6);            rgb0[1] = SATURATE_CAST_UCHAR((y00 + guv) >> 6);            rgb0[2] = SATURATE_CAST_UCHAR((y00 + buv) >> 6);            int y01 = yptr0[1] << 6;            rgb0[3] = SATURATE_CAST_UCHAR((y01 + ruv) >> 6);            rgb0[4] = SATURATE_CAST_UCHAR((y01 + guv) >> 6);            rgb0[5] = SATURATE_CAST_UCHAR((y01 + buv) >> 6);            int y10 = yptr1[0] << 6;            rgb1[0] = SATURATE_CAST_UCHAR((y10 + ruv) >> 6);            rgb1[1] = SATURATE_CAST_UCHAR((y10 + guv) >> 6);            rgb1[2] = SATURATE_CAST_UCHAR((y10 + buv) >> 6);            int y11 = yptr1[1] << 6;            rgb1[3] = SATURATE_CAST_UCHAR((y11 + ruv) >> 6);            rgb1[4] = SATURATE_CAST_UCHAR((y11 + guv) >> 6);            rgb1[5] = SATURATE_CAST_UCHAR((y11 + buv) >> 6);            yptr0 += 2;            yptr1 += 2;            vuptr += 2;            rgb0 += 6;            rgb1 += 6;        }#undef SATURATE_CAST_UCHAR        yptr += 2 * w;        rgb += 2 * 3 * w;    }}基于G2D图形硬件的YUV转RGB我们先实现 dmaion buffer 管理器,参考https://github.com/MYIR-ALLWINNER/framework/blob/develop-yt113-framework/auto/sdk_lib/sdk_memory/DmaIon.cpp这里贴的代码省略了异常错误处理的逻辑,有个坑是 linux-4.9 和 linux-5.4 用法不一样,米尔电子的这个T113-i系统是linux-5.4,所以不兼容4.9内核的ioctl用法习惯struct ion_memory{    size_t size;    int fd;    void* virt_addr;    unsigned int phy_addr;};class ion_allocator{public:    ion_allocator();    ~ion_allocator();    int open();    void close();    int alloc(size_t size, struct ion_memory* mem);    int free(struct ion_memory* mem);    int flush(struct ion_memory* mem);public:    int ion_fd;    int cedar_fd;};ion_allocator::ion_allocator(){    ion_fd = -1;    cedar_fd = -1;}ion_allocator::~ion_allocator(){    close();}int ion_allocator::open(){    close();    ion_fd = ::open("/dev/ion", O_RDWR);    cedar_fd = ::open("/dev/cedar_dev", O_RDONLY);    ioctl(cedar_fd, IOCTL_ENGINE_REQ, 0);    return 0;}void ion_allocator::close(){    if (cedar_fd != -1)    {        ioctl(cedar_fd, IOCTL_ENGINE_REL, 0);        ::close(cedar_fd);        cedar_fd = -1;    }    if (ion_fd != -1)    {        ::close(ion_fd);        ion_fd = -1;    }}int ion_allocator::alloc(size_t size, struct ion_memory* mem){    struct aw_ion_new_alloc_data alloc_data;    alloc_data.len = size;    alloc_data.heap_id_mask = AW_ION_SYSTEM_HEAP_MASK;    alloc_data.flags = AW_ION_CACHED_FLAG | AW_ION_CACHED_NEEDS_SYNC_FLAG;    alloc_data.fd = 0;    alloc_data.unused = 0;    ioctl(ion_fd, AW_ION_IOC_NEW_ALLOC, &alloc_data);    void* virt_addr = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_SHARED, alloc_data.fd, 0);    struct aw_user_iommu_param iommu_param;    iommu_param.fd = alloc_data.fd;    iommu_param.iommu_addr = 0;    ioctl(cedar_fd, IOCTL_GET_IOMMU_ADDR, &iommu_param);    mem->size = size;    mem->fd = alloc_data.fd;    mem->virt_addr = virt_addr;    mem->phy_addr = iommu_param.iommu_addr;    return 0;}int ion_allocator::free(struct ion_memory* mem){    if (mem->fd == -1)        return 0;    struct aw_user_iommu_param iommu_param;    iommu_param.fd = mem->fd;    ioctl(cedar_fd, IOCTL_FREE_IOMMU_ADDR, &iommu_param);    munmap(mem->virt_addr, mem->size);    ::close(mem->fd);    mem->size = 0;    mem->fd = -1;    mem->virt_addr = 0;    mem->phy_addr = 0;    return 0;}int ion_allocator::flush(struct ion_memory* mem){    struct dma_buf_sync sync;    sync.flags = DMA_BUF_SYNC_END | DMA_BUF_SYNC_RW;    ioctl(mem->fd, DMA_BUF_IOCTL_SYNC, &sync);    return 0;}然后再实现 G2D图形硬件 YUV转RGB 的转换器提前分配好YUV和RGB的dmaion buffer将YUV数据拷贝到dmaion buffer,flush cache完成同步配置转换参数,ioctl调用G2D_CMD_BITBLT_H完成转换flush cache完成同步,从dmaion buffer拷贝出RGB数据释放dmaion buffer// 步骤1ion_allocator ion;ion.open();struct ion_memory yuv_ion;ion.alloc(rgb_size, &rgb_ion);struct ion_memory rgb_ion;ion.alloc(yuv_size, &yuv_ion);int g2d_fd = ::open("/dev/g2d", O_RDWR);// 步骤2memcpy((unsigned char*)yuv_ion.virt_addr, yuv420sp, yuv_size);ion.flush(&yuv_ion);// 步骤3g2d_blt_h blit;memset(&blit, 0, sizeof(blit));blit.flag_h = G2D_BLT_NONE_H;blit.src_image_h.format = G2D_FORMAT_YUV420UVC_V1U1V0U0;blit.src_image_h.width = width;blit.src_image_h.height = height;blit.src_image_h.align[0] = 0;blit.src_image_h.align[1] = 0;blit.src_image_h.clip_rect.x = 0;blit.src_image_h.clip_rect.y = 0;blit.src_image_h.clip_rect.w = width;blit.src_image_h.clip_rect.h = height;blit.src_image_h.gamut = G2D_BT601;blit.src_image_h.bpremul = 0;blit.src_image_h.mode = G2D_PIXEL_ALPHA;blit.src_image_h.use_phy_addr = 0;blit.src_image_h.fd = yuv_ion.fd;blit.dst_image_h.format = G2D_FORMAT_RGB888;blit.dst_image_h.width = width;blit.dst_image_h.height = height;blit.dst_image_h.align[0] = 0;blit.dst_image_h.clip_rect.x = 0;blit.dst_image_h.clip_rect.y = 0;blit.dst_image_h.clip_rect.w = width;blit.dst_image_h.clip_rect.h = height;blit.dst_image_h.gamut = G2D_BT601;blit.dst_image_h.bpremul = 0;blit.dst_image_h.mode = G2D_PIXEL_ALPHA;blit.dst_image_h.use_phy_addr = 0;blit.dst_image_h.fd = rgb_ion.fd;ioctl(g2d_fd, G2D_CMD_BITBLT_H, &blit);// 步骤4ion.flush(&rgb_ion);memcpy(rgb, (const unsigned char*)rgb_ion.virt_addr, rgb_size);// 步骤5ion.free(&rgb_ion);ion.free(&yuv_ion);ion.close();::close(g2d_fd);G2D图像硬件YUV转RGB测试考虑到dmaion buffer分配和释放都比较耗时,我们提前做好,循环调用步骤3的G2D转换,统计耗时,并在top工具中查看CPU占用率sh-4.4# LD_LIBRARY_PATH=. ./g2dtestINFO   : cedarc: register mjpeg decoder success!this device is not whitelisted for jpeg decoder cvithis device is not whitelisted for jpeg decoder cvithis device is not whitelisted for jpeg decoder cvithis device is not whitelisted for jpeg encoder rkmppINFO   : cedarc: Set log level to 5 from /vendor/etc/cedarc.confERROR  : cedarc: now cedarc log level:5ERROR  : cedarc: now cedarc log level:5yuv420sp2rgb 46.61yuv420sp2rgb 42.04yuv420sp2rgb 41.32yuv420sp2rgb 42.06yuv420sp2rgb 41.69yuv420sp2rgb 42.05yuv420sp2rgb 41.29yuv420sp2rgb 41.30yuv420sp2rgb 42.14yuv420sp2rgb 41.33yuv420sp2rgb_neon 10.57yuv420sp2rgb_neon 7.21yuv420sp2rgb_neon 6.77yuv420sp2rgb_neon 8.31yuv420sp2rgb_neon 7.60yuv420sp2rgb_neon 6.80yuv420sp2rgb_neon 6.77yuv420sp2rgb_neon 7.01yuv420sp2rgb_neon 7.11yuv420sp2rgb_neon 7.06yuv420sp2rgb_g2d 4.32yuv420sp2rgb_g2d 4.69yuv420sp2rgb_g2d 4.56yuv420sp2rgb_g2d 4.57yuv420sp2rgb_g2d 4.52yuv420sp2rgb_g2d 4.54yuv420sp2rgb_g2d 4.52yuv420sp2rgb_g2d 4.58yuv420sp2rgb_g2d 4.60yuv420sp2rgb_g2d 4.67可以看到 ARM neon 的优化效果非常明显,而使用G2D图形硬件能获得进一步加速,并且能显著降低CPU占用率!转换结果对比和分析C和neon的转换结果完全一致,但是g2d转换后的图片有明显的色差G2D图形硬件只支持 G2D_BT601,G2D_BT709,G2D_BT2020 3种YUV系数,而JPG所使用的YUV系数是改版BT601,因此产生了色差https://github.com/MYIR-ALLWINNER/myir-t1-kernel/blob/develop-yt113-L5.4.61/drivers/char/sunxi_g2d/g2d_bsp_v2.c 从g2d内核驱动中也可以得知,暂时没有方法为g2d设置自定义的YUV系数,g2d不适合用于JPG的编解码,但依然适合摄像头和视频编解码的颜色空间转换