ppjsbanner

新闻资讯

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

14
2021-2
一文让你阅遍中间继电器构造原理
中间继电器做为一种最为常见的电气线路组件,在线路当中担负着触点扩展;沟通动作流程;外部显示/指示输出等极为丰富的功能。在实际运用当中,以JZC4系列中间继电器最为普遍。或许部分新加入电工行业的同行,对此还有些陌生,那么本人就通过图片分享的形式为大家介绍一下该型继电器的构造,相信里面必有你不曾留意到的知识。 首先来看一下该型继电器的外观,如图一至图三展示: 再来看由于该型继电器只有两对常开触点和两对常闭触点,一旦出现触点不够情况时,难不成还要再安装一只继电器?其实在设计之初,这个问题就已经被考虑到。图四就是该型继电器所能加装的“外挂”装备: 接下来我们再看图五、图六展示的继电器接线端子分布,这里要指出的是继电器的触点可以在允许范围之内任意控制相关电量,但继电器吸合线圈的电压等级却是固定的,在使用中应该仔细核对标识。 接下来我们再来看一下继电器内部吸合部分的构造,在这部分当中以固定吸合磁铁上短路环所引发的故障最为常见,详情请看图七至图九的展示: 最后图十所展示的是直接查看继电器各触点烧蚀情况的方法,该方法相较万用表测量法,更为直观: 中间继电器工作原理 线圈通电,动铁芯在电磁力作用下动作吸合,带动动触点动作,使常闭触点分开,常开触点闭合;线圈断电,动铁芯在弹簧的作用下带动动触点复位,继电器的工作原理是当某一输入量(如电压、电流、温度、速度、压力等)达到预定数值时,使它动作,以改变控制电路的工作状态,从而实现既定的控制或保护的目的。在此过程中,中间继电器主要起了传递信号的作用。 中间继电器的作用原理、规格型号、电气符号 你需要了解的知识都在这里,”
23
2020-4
工业机器人制造商热衷扎堆机床展 机器人 机床展 机床
与往届展会不同的是,今年的CIMT2015(第十四届中国国际机床展览会)不仅汇聚了中外1500多家以机床制造行业为核心的上下游企业,而且活跃着众多工业机器人参展商,这其中包括从机床行业延伸出去的制造商,还有国际知名的专业机器人制造商,以及一些新兴的中小企业。 依靠模仿跟踪发展的机器人企业走不了多远,而重视创新的高端企业正摩拳擦掌开拓国际市场。   机器人专区   据了解,此次CIMT展会专门开辟了机器人专区,为工业机器人制造商提供展示的舞台。   广州数控设备有限公司参加展会的面积为200平方米,有3台工业机器人参展,包括2台负载为50公斤和1台负载为80公斤的机器人。广州数控智能制造工程中心主任助理宋健告诉中国工业报记者,由于今年产品供不应求,暂时只能带这3台产品参展。   大连光洋科技集团有限公司展示的工业机器人包括雕铣机器人、折弯机器人、搬运机器人3台产品。大连光洋管理部负责人告诉中国工业报记者,本次展台面积为99平方米,本来打算有更多产品参展,但由于展会面积有限,无法展示更多的产品。据了解,在本届展会中,有工业机器人展品的企业就达二十多家,如沈阳莱茵机器人有限公司的搬运机器人、上下料机器人、去毛刺和抛光机器人等,安川首钢机器人有限公司的工业机器人及系统,以及浙江瑞宏机器人有限公司的六自由度工业机器人等。展会同期举办的技术论坛中,就有3场与工业机器人相关,包括沈阳高精数控技术有限公司举办的“蓝天”系列数控产品及关节机器人的技术特点与应用,柯马(上海)工程有限公司举办的主题为“本土化的柯马加工中心及机器人技术助力中国工业发展”的论坛等。   同时,由展会主办方中国机床工具工业协会举办的“2015工业机器人高层论坛”也是首次发起,论坛主题为“工业机器人与机床制造业升级”,发言嘉宾包括国内的南京埃斯顿机器人工程有限公司、广州数控设备有限公司,还有国际机器人四大家族之一的发那科机器人的负责人,以及柯马中国副总裁中国机器人事业部总经理贺万民,中国台湾的上银科技股份有限公司董事长卓永财等。据了解,今年协会还成立了机器人应用分会。   投资热潮   近日,工信部启动实施智能制造试点示范专项行动,挑选30个以上智能制造示范项目。业内人士表示,这将为中国机器人行业迎来黄金期。   实际上,在2013年我国已经成为最大的机器人消费市场。据世界机器人联合会统计数据称,2013年中国购买了36560台工业机器人,较2012年增加了近60%,超过日本和美国,成为全球最大的工业机器人消费国。中国当年消费量占全球工业机器人销量的五分之一。   这个新兴产业带来的机会正在吸引着投资者们,在机床行业就有不少投身于工业机器人的企业。   广州数控成立之初以生产制造机床数控系统为主,到2007年开始投资2000万元介入机器人制造领域。据宋健介绍,广数2014年工业机器人销售数量为550台,今年计划达到1000台。从今年一季度情况来看,销售情况看好,已经比去年同期翻番。公司正在投资建设工业机器人产业园,三期总投资预计达到几亿元,目前第一期投资已经达到2000多万元。由于有数控系统为依托,广数的策略是实现关键部件的自主化。据了解,他们在工业机器人四大部件中,除了减速器少量外购之外,其余全部自主生产。这也是他们目前能将工业机器人价格降到10万元的基础所在。宋健表示,公司现在载重为8公斤的工业机器人只需要10万元,如果只是简单的加工应用,客户只需要另加几千元配套就可以应用于实际生产。这样的价格相当于两个人工的价格,而工业机器人却可以进行两班到三班生产。因此他认为,未来的几年中国工业机器人的应用还会有一个飞跃发展。据了解,广数计划到2020年实现年产1万台工业机器人。   大连光洋也是一家由机床行业起家的机器人制造商。2012年,大连光洋启动了工业机器人的生产研发,先后投入资金3000多万元。据管理部负责人介绍,2014年,大连光洋的工业机器人和高档数控机床订单已经达到500台,产值超过10亿元,其中向市场投放60~70台工业机器人。在工业机器人四大关键部件中,除了减速器外购之外,其他的控制系统、伺服电机、伺服驱动均由公司自己制造。这位负责人还表示,公司正在寻求更多的减速器合作伙伴。为了加强工业机器人板块的力量,公司准备不仅是进行机器人单机的生产和制造,还要着手数字化工厂的集成。今年准备做一条样板示范生产线,同时提高今年工业机器人的产量,2015年公司的生产计划为100台。   还有一家是南京埃斯顿自动化公司,他们将工业机器人及成套设备作为公司控制系统和交流伺服系统产品的延伸,拥有一个控股子公司———南京埃斯顿机器人工程有限公司。由于公司产品在数控金属成形机床行业拥有较大市场份额,其工业机器人也着眼于为这个行业服务。据了解,在过去的几年里,南京埃斯顿自动化公司在工业机器人与金属成形机床集成应用中建立很多案例,积累了丰富经验。产品包括机器人折弯集成应用、机器人与压力机冲压集成应用、热模锻集成应用、焊接机器人等,目前已经拥有ER系列16个品种工业机器人产品,规格从抓举重量3kg到最大500kg。   成长中的行业   虽然现在国内对工业机器人的投资热情很高,制造企业数量上的增长也很快,但中国工业机器人的实力相比发达工业国家还比较弱。   市场份额低。目前国内市场95%以上被国外产品占领,世界范围内机器人行业“四大家族”(ABB、FANUC、安川和库卡)合计占国内机器人50%以上市场份额。而从国别来看,6大日本公司占据了中国工业机器人销量的一半。而国内虽然机器人企业数量比较多,但规模普遍较小,400余家机器人及其关联企业,规模最大的不过30亿元左右,95%的机器人企业年产值不过1亿元。中国本土4大机器人设备制造商新松机器人、南京埃斯顿、安徽埃夫特、广数加起来的市场份额仅占5%。   核心零部件受制于人。工业机器人包括机械本体及控制器、伺服驱动、伺服电机、减速机等四大核心功能部件。目前的情况是,很多国内的机器人制造商虽然可以生产机器人,但大部分的关键部件需要进口。广州数控在精密减速机方面能够部分供应,但一些产品还需要从日本进口。大连光洋的减速器为外购,公司将来的策略是倾向于合作,而不是自己研发制造。据了解,在机器人的成本构成中,减速机占到总成本的四分之一到三分之一,虽然现在广数和大连光洋能够实现其他三大部件的自给,但减速器的外购仍然会影响企业的一部分成本。   产品中低端。中国机器人产业联盟的信息显示,2013年中国购买并组装近3.7万台工业机器人,其中外资机器人普遍以高端工业机器人为主,几乎垄断了汽车制造、焊接等高端行业领域,占比96%;而国产机器人主要应用还是以搬运和上下料机器人为主,产品以中低端的三轴、四轴机器人为主,高端的六关节轴机器人占比还不足6%,尚处于行业的低端领域。而发达国家的多关节机器人占到全国工业机器人销量的比重已经到了62%。   另外,从目前中国机器人行业的企业格局来看,还是多而散。相比之下,国外机器人企业也就十几家,且都是巨头。而在工业机器人保有量上,中国还落后于其他主要工业国家。2012年,全球共有123万台工业机器人在使用,其中日本拥有31万台,美国拥有16.8万台,而中国仅拥有9.6万台。   不过,值得欣慰的是,目前国家正在制定的《机器人十三五规划》将大企业战略纳入其中,预计到2020年,中国工业机器人的产业体系要具备3~5家具有国际竞争力的企业、8~10个产业配套集群,机器人密度(每万名工人使用工业机器人数量)达到100以上。而根据国际机器人联合会的预测,2015年,中国国内工业机器人年供应量将超过2万台,保有量将超过13万台。需求量大,保有量低,中国企业市场份额较低,这无疑表明中国的工业机器人孕育着巨大的市场,目前很多中国企业正在精心准备,要在这个市场上奋力一搏。
2
2022-9
“老师,我想死你了!”——上海中小学今日开学,莘松小学师生激动相聚
东方网记者马鑫洋9月1日报道: 今天(9月1日)是上海全市中小学、幼儿园秋季开学第一天,约165万名中小学生和55万名幼儿将正式迈入新学期,开始他们新一年的学习和集体生活。 “褚老师,我想死你啦!”早晨七点半,一进校门看到了手举“终于等到你”的老师,张睦妍就激动的飞奔到自己数学老师褚燕玲的怀里。这是发生在闵行区莘松小学操场上的一幕。 从3月12号离开校园,闵行区莘松小学三年二班的张睦妍到现在已经与老师同学阔别了整整173天,经历了焦虑孤单的封控和漫长的暑假,她对老师和同学的思念越发强烈。 不仅小朋友兴奋不已,老师们也按耐不住心中的情感。“当小朋友朝我奔来抱住我的时候,我鼻子一下子就酸了,眼泪夺眶而出,这么长时间没见,他们有的胖了有的瘦了,但都长高了长大了,孩子们回来了,真好!”褚燕玲老师说道。 在开学前几天,莘松小学就发布了预热视频,呼唤这些可爱的“候鸟”们归巢。今天上午,为了欢迎同学们,莘松小学的老师更是早早来到学校,为同学们精心准备了主题开学典礼,来纪念这场久别后的重逢。 据悉,闵行区莘松小学以《“疫”别多日,从“XIN”出发》为主题,开展了“我手写我心”“我想大声告诉你”等表白活动,为学生和老师的情感抒发搭建平台。 老师和同学将内心的思念化成一个个手举牌和校门口大大的爱心,对每一位进校的同学倾诉着思念。 我手写我心,我心抒我情。 同学们将思念落在笔尖,在爱心贴纸上写出了自己的心里话,将自己的“思念”贴在心愿板上,一年级的新同学们也用拍立得将这温馨的时刻定格了下来。 “我好想念食堂的罗宋汤!”
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的编解码,但依然适合摄像头和视频编解码的颜色空间转换
17
2022-3
永康市澜墨工贸有限公司携澜墨割草机,实现工具全面价值赋能
割草机目前已经成为园林工具中必不可少的一环,与无数农业和园林工作紧密相连。在如今蒸蒸日上的割草机市场里,让人眼花缭乱的产品良莠不齐,永康市澜墨工贸有限公司便是为了产品的品质保证而来。 永康市澜墨工贸有限公司是一家专业从事园林工具自主研发、生产及销售的企业。公司建立了从市场调研、产品开发、生产制造到售后服务全过程的质量管理体系,志在发展成为国内园林工具制造领域的龙头,打造自主民族品牌。 永康市澜墨工贸有限公司用心力孵化出澜墨品牌,通过品牌赋予产品价值,打造亲民、温暖的品牌形象,进一步走近消费者群体,切身处地的了解用户需求,不断改进产品款式和完善产品功效,澜墨也不负期望,成为央视展播品牌,生产出多款爆款产品。 公司不仅拥有高质量生产车间,更拥有完整、科学的质量管理体系和技术过硬、经验丰富的生产队伍,在技术上锐意创新,在管理上科学化、高效化。以品质管理为重点,以质量求信誉,建立了一套严格的管理制度和产品检验标准。 澜墨品牌旗下推出了果树修枝剪、打草机、修剪机、挖树机、割草机、开沟机、绿篱机、采茶机等多种园林工具类产品,品牌一直坚守优中选优的选材原则,从源头把控品质,从材料选择、制作工艺、产品包装等方面上推陈出新,精心打磨产品、不断优化技术,做好园林和农业工作中的最佳帮手。 为了严格控制每一批产品的质量,永康市澜墨工贸有限公司始终坚持“质量为根,品牌是本”的品牌运营理念,将质量作为品牌立足市场的根本,从产品的设计研发、生产加工到销售全面把控,让每一个产品有充分的质量保障,也及时吸收用户反馈,不断地改善产品性能和升级优化产品效果,用心研发出品质更好的园林工具。 永康市澜墨工贸有限公司自成立至今,始终坚持“开拓创新、诚信发展、专业品质、精诚服务”的经营理念,致力于“绿色环保,节能实用”新技术的开发和应用。公司将一直尊崇“踏实、拼搏、责任”的企业精神,并以诚信、共赢、开创经营理念,创造良好的企业环境;以全新的管理模式,完善的技术,周到的服务,卓越的品质为生存根本,匠心打造澜墨品牌。 在未来的日子里,永康市澜墨工贸有限公司也将一直携手澜墨,打造出更加出色的园林工具佳品,成为更多消费者的首要选择。
10
2022-5
河源电气防爆安全检测
易燃易爆场所中防爆设备设施的安全稳定运行对安全生产和长远发展有着重要影响。 在可燃气体、可燃液体挥发的蒸汽、可燃粉尘等与空气形成的爆炸性混合物环境中,若电气设备和线路发生电弧放电或产生危险温度等,其爆炸性气体(蒸汽)或爆炸性粉尘就可能会被点燃,引起火灾或爆炸事故。通过定期检测检验可排查选型与危险区域不适应、维修后未恢复防爆功能、使用中缺陷造成失爆等安全隐患,及时消除,实现危险场所的本质安全。
10
2021-2
怎么识别高频低阻电解电容器高频低阻铝电解电容器高频低阻电解电容
怎么识别高频低阻电解电容器 高频低阻铝电解电容器 高频低阻电解电容 铝电解电容器根据电性特征可以划分三大类:涵盖长寿命型铝电解电容器,耐高温型电解电容器,小体积型电解电容器,那么我们的高频低阻电解电容器 高频低阻铝电解电容器 高频低阻电解电容 高频电解电容器是属于长寿命型电解电容器,又属于小体积电解电容器。 那么怎么从铝电解电容器外观上分辨这是不是高频低阻电解电容器,这个现在我就来告诉大家: 1.从铝电解电容器本体套管颜色识别,常规的耐温-40℃~105℃普通品电解电容器,套管颜色为黑体白字,高频电解电容器 高频低阻铝电解电容器 高频低阻电解电容器的套管颜色原则上是绿体金字,黑体金字,咖啡色或者其他醒目的颜色。 2.从铝电解电容器的本体套管的印字识别,高频低阻电解电容器的套管本体印字常规都有带LOW ESR,这是高频低阻抗的英文翻译。 3.从铝电解电容器的用途可以识别,只有高频低阻抗电解电容器采用用于LED驱动电源和开关电源中,常规的电解电容只能用于小家电控制板
7
2022-3
纳米涂层的工作原理
1.“纳米”是什么意思?什么是纳米技术?它的用途是什么,适用于哪些行业? 我们经常在说纳米,那么纳米是什么意思呢?纳米是一种非常小的单位,拿米来举例,一米是由十亿纳米组成。 纳米技术是在无形的非常微小的纳米尺度上进行的所有活动的总称,可以适用于各种学科,如化学、技术、工程和许多其他的学科。纳米技术的基本结构是纳米粒子,可以小到 100 纳米或更小。以这种规模(大约是人类头发的 1/80000 的宽度)进行的物质操作和设计是纳米技术的主要研究领域。 纳米技术应用于许多行业,从医学到工程,从化学到农业。虽然纳米粒子可用于诊断和治疗某些医疗状况,但也预计它们也可以应用于可持续能源领域以提供环保解决方案。此外,纳米技术也可以广泛用于工业部门和最终产品的制造。 我们这里举几个例子说明纳米技术在我们日常生活中的作用:它可以延长食品包装的使用寿命,使电子设备的重量更轻,增加防晒霜对紫外线的抵抗力,增强人造骨骼,提高车辆表面对外部因素的耐久性。 2. 什么是纳米涂层? 纳米涂层是根据纳米技术原理开发的隐形薄层。当物体表面被这些涂层覆盖时,它们会获得各种特性。其中一些是: · 防水防油 · 抗紫外线 · 耐各种问题,例如划痕、冲击、霉菌、褪色和氧化 · 防止细菌生长 · 对有害化学物质的抵抗力 由于这些改善处理表面功能的特性,纳米涂层被广泛应用于一系列材料、产品和结构,目的是延长它们的使用寿命并提高它们的易用性。 3. 纳米涂层有什么好处? 根据材料的性质,用纳米涂层处理的表面可以获得各种特性,例如防液体和防污渍或抗划痕和耐化学品。由于这些品质,消费者可以更轻松、更顺畅地使用经纳米涂层处理的产品,延长个人物品或家庭/车辆表面的使用寿命,并让自己的钱花出去获得的价值更持久。由于纳米涂层的应用,这些产品变得更容易清洁,增加了耐用性,从而减少了消费者在清洁和产品护理过程中投入的时间和精力。贵重物品和个人物品在其价值增加的同时也能一直保持良好的状态。 4. 什么是疏水涂层和荷花效应?纳米涂层如何用于此目的? 在这种情况下,疏水性是指憎水性。用纳米涂层处理的表面变得疏水。通过这种方式,处理过的表面可以排斥液体,变得易于清洁并保持无污渍。 我们常说的荷叶效应,则是以荷叶命名的说法,这是与广为人知的睡莲十分相似。水生莲花植物由于它们的防污叶子而闻名。这种疏水性在小麦和玉米等其他植物中也能观察到,这种特性有助于叶子和花瓣保持清洁。纳米涂层的表面结构是受到这些植物的自然结构的启发,所以这些对物体表面提供的憎水性和易于清洁的特性被称为荷叶效应。 为了达到这种目标,纳米涂层可应用于各种表面,包括但不限于纺织品、玻璃、陶瓷、金属、木材和天然矿物。它们可以防止珍贵的衣物和鞋类被弄脏,也为车辆表面、木制家具、船甲板和我们日常生活中使用的许多其他表面提供疏水性和荷叶效应。 5、紫外线对各种表面有哪些有害影响?纳米涂层如何对抗紫外线? 就像人体会被紫外线晒伤晒黑一样,物体表面也会受到紫外线的伤害。当不耐紫外线的材料长时间暴露在这些射线下时,可以观察到一些不好的结果,例如变色、褪色、开裂、分解、晒伤、破损和失去柔韧性。这些损害通常称为紫外线伤害。 我们日常生活中广泛使用的许多类型的天然和合成材料都容易受到紫外线伤害。提供紫外线防护的纳米涂层可用于防止各种产品和结构受到阳光伤害,尤其是由橡胶、木材和 PVC 制成的产品和结构。这些类型的纳米涂层是专门为保护表面免受紫外线伤害而研发的。 当紫外线防护纳米涂层应用于经常暴露在阳光下的表面时,这种不可见的涂层可以起到屏蔽作用,防止褪色、磨损和开裂等问题。为此,纳米涂层广泛应用于木制家具、纺织品和皮革、船表面和车辆油漆。 6. 什么是拒污性和易清洁性?纳米涂层如何是如何提供保护的? 随着用纳米涂层处理的表面变得具有疏水性和防污性,可以防止污渍形成,并且可以使这些表面的清洁过程变得更容易。由于纳米涂层起到了屏蔽作用,因此即使是会导致最顽固污渍的污染物也不能被吸收到物体的更深层,这些污染物会直接从物体的表面滑落。由于纳米涂层产生的疏水性和荷叶效应,污垢不能附着在表面上,并且无需传统的清洁工艺或者清洁剂即可轻松擦去。 纳米涂层广泛用于纺织产品、汽车护理、厨房护理、个人物品清洁和家居表面。例如,经过纺织品纳米处理过的绒面鞋即使暴露在污垢和泥土之后也可以简单地擦拭干净。同样的原理也适用于汽车纳米表面保护产品;它们在油漆上形成一层耐用、持久的涂层,防止雨水、泥浆、石灰、硬水、鸟粪、化学品和砾石等外部因素形成污渍并损坏车漆表面。 7. 纳米涂料在哪些行业中使用,用途是什么?纳米涂层子这些行业是如何工作的? 纳米涂层被应用于许多行业,因为它们在各种表面上形成保护层。 在纺织和零售行业,它们用于保护纺织品和织物免受污渍、褪色、磨损、皱纹、紫外线损伤和细菌滋生。在汽车和船舶工业中,纳米涂层可以保护处理过的表面免受液体、湿气和紫外线的影响,防止氧化、腐蚀和划伤等问题。类似地作用于家具、家居表面和个人物品,因为它们具有防液体和防污、易于清洁的特性、具有耐化学性和耐刮擦性;与标准涂料相比,纳米涂料可以凭借更少的用量提供更有效和更持久的性能。 纳米涂层包含以纳米尺度测量的极小颗粒。这就是它们在处理过的表面上形成比标准涂层薄得多的保护层;这种保护层是人眼不可见的,不会以任何方式影响表面的纹理或外观。这种保护层改变了被处理材料的表面性能,使他们具有抗液体性、抗污性、易清洁性和对各种破坏因素的耐久性等特性。通过这种方式,纳米涂层可以延长物体的使用寿命,促进并增加物体的功能和价值。
30
2021-12
深圳市水质检测公司第三方检测水质多少钱
在日常生活、生产制造中,水为不可缺少的资源,它的安全隐患很重要,因而在水质问题上不确定该怎么办?比较好的做法是将水样送到专业的水质检测机构进行检测,有些没有经验的人不了解水质检测需要多少钱?通常需要哪几个流程,接下来就来同大家用心的讲一讲。 通常水质检测费用根据您测试的项目收取,水质也分为生活饮用水、直接饮用水、瓶装水、瓶装水、瓶装水、二次供水、工业污水、废水等多种类型。检测项目越多费用越高。通常检测费用在几百到几千之间不等。 1.要了解有哪些种类的水 水质检测需要多少钱?在了解这个问题之前,我们应该对水的种类有一个全面的了解。水不是你想象的那种。自来水实际上包括山泉水、瓶装水、包装饮用水、直接饮用水、生活饮用水、二次供水、工业污水、废水等。不同种类的水含有不同的成分,测试过程中需要测试的项目也不同。 2.水质检测价格 一般说来,价格从几百元到几千元之间不等,尤其要强调的是水质检测并不是按次数计费,而是依据水质检验项目、水质检验项目数目、水质检验机构、水质检测难易度等收费,项目数目越多,水质量检验机构越好,水质检验难度越大,价格就越贵。在这里建议大家挑选国内权威的水质检测机构,可以提供精准的检测结果,检测报告的权威性更高一些。 水质量检验的价格与许多因素有关,如水质需要检测的种类、水质需要检测的项目、水质需要检测的项目数、水质检测机构的实力等,通常情况下,水质检测的价格在几百元到几千元之间不等,如果是水质需要检测的项目,就需要进行检测。那样的费用要高一些。需要强调的是,水质检测机构实力越强,对各种国家水质检测标准的了解越全面,检测就会严格按照检测依据进行,检测项目越多,越经济,因为检测机构会有经验丰富的检测人员结合经验为客户制定高质量的检测方案,保证水质检测项目的全面性,为客户省钱,权威的水质检测报告在哪里获得令人信服,检测报告的价值更高一些。 3.水质检测通常需要哪几个流程? 第一是选择专业实力雄厚的水质检测机构,在线咨询客户服务,沟通,确定检测产品和项目;二是检测机构根据水质检测项目报价;三是客户需要将水样包装送到检测机构,近距离检测机构会上门取样;四是双方确定签订检测协议,检测机构将开始检测;五是检测完成后出具标准化的检测报告;六是将检测报告邮寄给客户,后期有问题可咨询。 如果你想知道水质检测要花多少钱,最好直接咨询专业检测机构的客服。需要注意的是,在选择专业的测试机构时,我们必须提前了解价格,确保费用是一次性的,有透明的费用标准,没有隐藏的费用,以充分保护自己的利益。
23
2022-1
暖气管道堵了怎么办
现在不少人都会在家中安装暖气片,这样一到寒冷的冬季,就可以将家中的暖气片打开进行供暖,但是经过一段时间的使用后,可能会出现暖气管道堵了的情况, 那么暖气管道堵了怎么办呢?怎样预防暖气管道结垢腐蚀呢?下面就跟着小编一起来看看吧 暖气管 1、因水垢造成暖气管道堵塞的情况下,可以请专业人员上门对暖气片管道进行清洗,去除暖气管道内的水垢及污渍,如果是因暖气管道腐蚀导致堵塞,需将腐蚀的暖气管道拆下,并换上新的暖气管道,过程较为复杂,因此大家千万不要擅自拆卸暖气管道 二、怎样预防暖气管道结垢腐蚀 1、预防暖气片结垢可以使用暖气片防垢剂,因为防垢剂的组成材料为有机物及碱性物质,将防垢剂倒入暖气管道内,可以将水中的钙镁离子转变为水渣,从而避免暖气管道结垢,同时还能促进水渣的排出 2、增加暖气片的组数及片数也能预防暖气管道结垢,因为通过这种方法可以降低暖气管道的热水温度,从而减少碳酸镁及碳酸钙等物质的产生,很好的防止了暖气管道出现结垢的现象。 暖气管 暖气管道堵了怎么办的相关内容就为大家介绍到这里了,暖气管道堵塞是暖气片使用过程中经常出现的问题,因此使用时必须知道如何预防暖气管道堵塞,以免影响到取暖设备的正常使用。
21
2022-1
构建绿色制造新生态——三菱电机E-JIT平台获评“2021世界智能制造十大科技进展”
在日前举办的“2021世界智能制造大会”上,“世界智能制造十大科技进展”权威发布,由三菱电机(中国)有限公司(以下简称:三菱电机)打造的“能源与环境综合平台E-JIT”荣登榜单,彰显出三菱电机努力践行“双碳”目标、推进绿色智造的信心和领先实力。 已成功举办了五届的“世界智能制造大会”以“让制造更聪明”为使命,构建多元、开放的全球智能制造交流与合作平台,引领制造业数字转型和智能化发展。本届大会由江苏省人民政府、工业和信息化部、中国工程院、中国科学技术协会共同举办,汇集世界智能制造领域的领先企业、权威机构和前沿专家,并展示国内外示范企业的最新发展成果。 此次评选出的年度十大科技进展,综合创新性、引领性、应用型、未来预期等多个维度,囊括了智能制造领域的前沿技术成果和优秀实践案例,对解决行业难题、改善生态环境、推进创新发展具有重要意义。E-JIT(Environment & Energy Just in Time)是三菱电机开发的综合解决方案,也是率先在中国开展的可同步优化“环境、能源、生产效率”的行业升级方案,具备良好的示范效应和应用前景。   三菱电机E-JIT综合解决方案 在世界范围内,制造业的绿色转型和智能革新势在必行,让生产更高效、让工厂更智能、让环境更清洁,已经成为全行业达成的共识。为助力全球减碳目标的实现,中国政府制定了“碳达峰”、“碳中和”的“双碳”目标,对构建“绿色智能制造”体系提出了更高要求,三菱电机能源与环境综合平台E-JIT应运而生。E-JIT融合三菱电机数十年来在制造、节能、环保领域的经验和技术,结合中国制造业实际,力求帮助企业在实现效益最大化的同时有效降低环境负荷。相比于传统生产模式下通过牺牲生产力换取节能收益,E-JIT可通过高度模拟生产力、能源和环境数据来精确预测生产成本,在节能的同时保持生产力,具备领先的综合应用价值。 引入中国市场以来,三菱电机E-JIT平台不仅在中国国际智能产业博览会、中国国际进口博览会等重量级展会上大放异彩,更在实质应用阶段取得了突出成果。依托三菱电机的e-F@ctory智能制造系统和E-JIT理念,通过生产和能源的同步化管理,三菱电机自动化机器制造(常熟)有限公司完成了整体效能提高10%、单位产品生产能耗削减27%的有效改良,成为三菱电机集团在全球的首家“零碳工厂”,并在2019年被工信部认定为“国家绿色工厂”,作为入选的外资企业案例被收录于2020《互联网 绿色制造融合案例集》。截至目前,三菱电机已有六家在华工厂成功跻身“国家绿色工厂”,E-JIT平台正在智能制造领域持续释放活力。 在E-JIT平台应用推广的过程中,三菱电机与中国信息通信研究院、中国节能环保集团等机构紧密合作,为E-JIT的普及培育优质土壤。2021年8月,三菱电机与中国信通院合作开发的E-JIT示范生产线正式启动,标志着E-JIT的中国化发展进入了新阶段。未来,不仅在制造业,E-JIT平台的适用领域将扩展至商业区、CBD(中央商务区)等各个领域,为更多行业输送优质价值。 伴随劳动力成本上升、能源供应短缺和环境污染等问题的日益突出,制造行业的转型升级具有紧迫性和重大的社会意义。在国家“十四五”计划中,智能制造和绿色制造都被提升到新的战略高度,同步优化生产力和环境指标已成为众多传统制造企业面临的重要课题。三菱电机E-JIT平台突破传统的生产计划方式,使生产力、能源效率和环境负荷3个指标得以平衡,在降本增效的同时能够产生良好的社会效益,有助于实现高质量的可持续发展。 在全球智能制造的舞台上,三菱电机能源与环境综合平台E-JIT的前瞻价值正在得到验证,为制造业的绿色革新探索出一条新路径。随着E-JIT落地脚步的加快,更多制造业主体将从中受益,在与时俱进中焕发新的活力。
25
2023-4
吃蟹正当时!感受舌尖上的鲜美
现在正是吃大闸蟹的好时节,新鲜肥美的大闸蟹纷纷涌上百姓餐桌!大闸蟹从哪儿来?跟税收有啥联系?快跟随主播,抓蟹品蟹,听减税降费政策助力蟹农发家致富的故事。 来源:中国税务报、国家税务总局南京市税务局 编发:江苏省税务局纳税服务和宣传中心 点分享 点收藏 点点赞 点在看
21
2021-1
危废暂存柜--化学品存储必备
危废暂存柜是一种用于存放易燃易爆有毒危化品的大型防火防爆柜,那么这种柜体有哪几种呢?我们首先从产品规格来看 第一种:层架式 第二钟:步入式 第三种:ZYCX4000型 危废暂存柜作用有哪些呢? 1、层架式的一般用于存储圆桶及IBC桶等一些大型容器 2、步入式一般用于专业存储圆桶及小型容器 3、ZYCX4000型一般用于暂存实验室有毒有害的危化品 危废暂存柜适用环境有以下三种: 1、危化品仓库 2、室内或生产车间分数储存的仓库 3、室外中央仓库 危废暂存柜有以下大特点: 1、防漏盛漏托盘系统,柜体采用防磁镀锌耐候钢板,钢焊接主体 2、众御品牌可以根据需求配备多种系统 3、防雷系统,泄压系统等 模块配备 通风系统:柜内设置通风百叶窗,百叶窗内部设有防虫鼠网,通风装置的材料应为不可燃或阻燃材质。 防雷系统:主电源接入处安装有独立的防雷击浪涌保护器,柜体外装设独立避雷针或架空避雷线(网)使柜体和突出物体均处于接闪器的保护范围内,或通过合理方式达到整体避雷效果。 消防系统:七氟丙烷消防系统。 防爆控制系统:防爆配电箱,外壳材料由铝合金铸压成型,经环氧树脂涂装;柜体所有门窗开合部分应采取有效措施排除因开关时摩擦碰撞可能产生的火花。柜内的防爆电器设备的安装、维护、检测等满足《防爆电器设计、安装、维护、检测与安全技术标准规范实用手册》的要求。 泄压系统:泄爆窗 众御选配模块 紧急救护系统:广泛应用于医药、化工、石化、电子,半导体企业中危险工作区域和实验室的紧急救护安全装置。 防泄漏系统:舱内底部可配备防泄漏槽。 门禁系统:电子密码、指纹识别。 温湿度控制系统:柜体内设有防爆制冷/热空调,在温度过高/过低时能有效降低/调高柜内温度,功率可调。 众御标识、标牌与说明 在明显位置张贴有安全警示标识,安全标识符合GHS《全球化学品统一分类和标签制度》规定(标识采用耐腐蚀材质);柜内配备可以挂置各种用户自备铭牌的装置;设备具有使用说明书,其内容包括:控制系统使用说明,灭火器使用说明,储存柜架使用说明,逃生门使用说明,个人防护用品使用说明等。
24
2021-2
药品包装材料检测项目及药包材检测仪器介绍
随着医药领域的不断发展与完善,目前我国的药品包装也呈现出多样化,目前常见的药品包装形式有玻璃类包装、金属类、塑料类、橡胶类、预灌封类以及其他类的药包材种类,这也完全符合药包材管理标准《药包材国家标准2015》的分类。随着药包材标准的不断更新,针对每一类型的药品包装材料,以及不同的用途,药包材标准中对其规定的基本使用性能测试项目也有所不同,因此需用到不同的药包材检测仪器。 药品包装材料检测仪器设备 济南众测机电设备有限公司一直致力于各种药包材检测仪器的研发生产厂家,在药包材检测领域积累了大量的经验,研发了适用于各种物理性能测试需求的检测设备。 下面,小编就各种药品包装材料对应的检测项目及需要的药品包装材料检测设备进行简单讲解。 1、玻璃类药包材检测项目及测试仪器。 玻璃类药包材作为药品包装材料的的重要组成部分,仍然是药包材的重要组成部分。 对于玻璃输液瓶、西林瓶、安瓿瓶等瓶子类的检测主要包括有垂直轴偏差测量、瓶子厚度测量、玻璃内应力测试、玻璃颗粒耐水性试验、玻璃瓶盖扭矩力测试、密封性测试等。 因此,对应的玻璃瓶检测仪器分别为垂直轴偏差测量仪、玻璃瓶壁厚仪、偏光应力仪、玻璃耐水性试验装置、瓶盖扭矩仪、密封试验仪等设备。 对于卡式瓶等玻璃管类药包材,当然还需要检测活塞活动性能、胶塞的穿刺力测试等,推荐众测机电研发的医药包装性能测试仪。 2 、塑料类药包材测试及检测仪器设备 塑料类药包材有高低密度聚乙烯瓶、固体药片聚丙烯聚酯多层共挤输液袋等,其以安全、无毒、多样性、轻量化等优势,成为药包材的重要一部分。 多塑料类药包材检测项目,主要围绕着材料的阻隔性能(包括水蒸气透过量和气体透过率)、密封与泄露性能、封口强度、抗冲击性能、塑料薄膜材料厚度均匀性等性能展开,根据相关材料测试标准,需要用到专业的水蒸气透过量测定仪、气体渗透仪、密封测试仪、热封性能测试仪、落球冲击试验仪、高精度薄膜测厚仪等。 3、橡胶类、预灌封类药包材检测及测试仪器。 橡胶类药品包装材料有卤化丁基胶塞、聚异戊二烯垫片、硅橡胶胶塞等。 YBB00262004等标准中对其性能测定规范主要包括穿刺力强度测试、针尖穿刺力测试、穿刺落屑检测、胶塞与容器等密封性、活塞滑动性测试针头与针座连接力测试等。 在药包材检测领域,众测机电研发生产一款医药材综合性能测试仪器,可满足药品包装材料多项测试需求,这款检测设备是--医药包装性能测试仪TST-01H。 4、铝塑泡罩包装、药用铝箔性能测试及检测仪器。 铝箔作为一种优良密封性能、阻隔性能好、安全无毒遮光好的新型材料,对胶囊类、固体药物具有很好的保护作用,铝箔物理性能检测项目有铝箔厚度检测、铝箔层热和强度、铝箔针孔度、耐破度测试、耐冲击等机械性能。 依据相关标准,相应的检测仪器需要用到薄膜测厚仪、热封试验仪、铝箔针孔度测试仪、铝箔耐破度测试仪、落球冲击试验仪等。 多数药品包装材料,泄露与密封性能是其必检测试项目之一,关乎药品的安全性与纯净无污染,众测机电在药包材密封性能测试方面研发了不同需求的密封试验仪和包装泄漏性测试仪 药品包装材料还有金属类药包材、预灌封类药包材等,根据药包材管理标准,每种材料都有其不同的测试项目和检测仪器与之对应,具体需求可直接致电众测机电。
17
2021-2
园林工人为树木“穿衣”温暖过冬
1月1日,虽然是元旦假期,但是受最近强冷空气影响,气温骤降, 泗洪园林工人们在假期里冒着严寒给街头、公园等处种植的部分品种树木穿上了防寒“衣服”,防止景观树木受到寒冷气候的伤害。 (速新闻记者 户伟)
5
2022-4
一氧化碳检测仪的维护保养-逸云天
众所周知,一氧化碳气体是一种无色、无味、无刺激、无法用五官感知的有毒气体,它可以阻止氧气的供给与利用,人在吸入后造成人体缺氧,直至威胁生命。而一氧化碳检测仪,能准确检测出空气中一氧化碳的含量,当超出设定值时就会发出警报。我们在使用的过程中,使用寿命越长越能节省成本,所以,我们一定要注意一氧化碳检测仪的维护保养,从而才能延长设备使用寿命。那么一氧化碳检测仪的维护保养该怎么做呢?下面逸云天小编为您介绍: 一氧化碳检测仪的维护保养: 1、定期检查一氧化碳检测仪。由于环境的恶劣,长时间的使用会造成传感器性能的损坏,所以一定要注意定期检查并记录检查数据。并在传感器损坏或过期时及时更换新的。 2、保持一氧化碳检测仪表面清洁、干燥,远离潮湿及腐蚀性气体和环境。 3、在温度适宜的环境中存放一氧化碳检测仪,以免温度过高或过低损坏元器件。严禁重击、摔打一氧化碳检测仪,轻拿轻放。 4、定期除尘。使用中会有很多灰尘、杂质等容易进入到仪器的内部,造成零件损坏或测量误差,所以要定期给一氧化碳检测仪除尘。但不可使用刺激性化学品或洗涤剂等,用清水和棉布擦洗即可。 5、避免检测仪气孔堵塞,如有液体进入,立即倒置一氧化碳检测仪,使液体自行流出,切忌剧烈摇动。 6、注意电池的保养,切不可在欠压状态下使用一氧化碳检测仪,每次使用前都要确定电量的充足。 综上所述,就是一氧化碳检测仪的维护保养内容。一氧化碳检测仪是专门用于检测CO浓度并实时以数值反馈,在浓度超标时能够及时发出报警信号,预防中毒发生的安全设备,可连续检测有毒气体、氧气、易燃易爆气体浓度,随时观察现气体浓度值。目前,它己广泛用于石油、化工、煤矿、冶金、造纸、消防、市政、电信、食品、 纺织等行业。
3
2022-6
金箍制动器:起重机制动器故障的防范措施
起重设备的运用对实现工业现代化生产有着重要的意义,制动器是保障其安全稳定运行的重要部件,但制动器由于设计制造缺陷、使用不规范等问题,实际使用过程中经常会出现制动力矩不足、无法及时打开或闭合、带闸或拖车等状况。如何才能保障制动器安全稳定运行?金箍制动为大家总结了这几点建议。 (▲金箍制动厂区实拍) 1. 选好品牌 在制动器选购时,一定要选择正规厂家,并查验其是否具备特种设备配件生产资质,不同型号的制动器上市前,也应通过特种设备型式试验,具有合格证。此外,可以通过网络搜集厂家信息,了解合作伙伴与合作案例,从侧面了解产品口碑。 2. 选对型号 制动器选型非常关键,用户需要了解起重设备的特点,选择与之相匹配的制动器型号。像金箍制动这样的老牌厂家,会为用户提供制动器选型服务,如果需求较为特殊,还可以提供定制生产服务。决定合作前,要了解制动器的生产周期,以免出现产能不足的问题,无法安装时交货,影响后续使用。 3. 定期维护 根据TAG15001-2009《起重机械使用管理规则》要求,起重设备操作人员需要具备相应的资质认证及使用过程中做好自检,并定期进行维护检修,发现零件磨损或使用过程出现故障时,及时维修更换零部件。 以上,便是金箍制动为大家总结的制动器安全使用须知,希望大家都能够牢记在心。制动器的稳定运行是起重机安全稳定运行的保障,用户一定要重视制动器安全问题,选择质量合格的制动器产品,并按章程作业,以降低故障发生的概率。
16
2021-2
气动马达配备服务
许多工业领域都需要实施搅拌或混合系统,例如制药,化妆品,食品,化学工业等。这些行业中的许多用户正在使用气动马达,这些用户正在寻求可靠,紧凑和灵活的空气动力解决方案 。 我们将空气动力解决方案适应这些不同应用领域的每个规范,这些规范的最常见限制是:24/7运行的高服务率。 移动搅拌解决方案的紧凑性和重量 多年来,我们一直在为各行各业提供气动马达。我们以产品和服务的质量而闻名。 除了超短交货时间外,我们还能够提供完全满足您需求的气动马达。我们相信,如果您需要对机器进行改造或进行设计更改,则无需您对机器进行改造或设计,以使我们的气动马达适应您的需求。由于其巧妙的设计,我们能够提供完全满足您需求的气动马达。该解决方案适合您的使用需求。 我们的服务在气动马达的整个使用寿命中都可提供。我们协助您安装气动马达,并提供维护和大修服务。但是您也可以自己进行维护。为此,我们提供维护培训课程,并提供维护套件。
4
2021-3
工业智能取水计量系统
系统概述 工业智能取水计量系统是加强区域计划用水管理和促进企业节水的重要措施,主要建设内容包括管道流量自动监测站、河道(明渠)流量自动监测站、水位自动监测站等。取用水监测对象主要为省水利厅、市/县水利局批准颁发取水许可证的重点取水户。取用水监测以自动监测、在线传输为主,监测中心多由各省利厅统一部署。 柳林公司研发“工业智能取水计量系统”,实行严格的水资源管理制度,实时掌握来水、取水、用水和排水动态,将信息上传到省平台,保证信息的准确性、科学性和精细化,为严格水资源管理制度考核提供手段和依据。 系统拓扑图 系统功能 系统原理及主要设备 因采集的数据需上传省平台,为确定设备365*24正常运行,在供电方面,我公司优先采用市电供电,当设备检修等情况导致市电断电时,自动转换成太阳能系统供电,同时向配置的蓄电池充电,当太阳能无电时,自动转换成电池供电,当市电或者太阳能回复正常时会自动转换回复,实现了市电、太阳能、蓄电池三种供电方式的相互转换。 内部的核心设备选用我公司的IC卡遥测终端,现场计流量采用超声波流量计或智能水表,每个监测终端都会配置一个用户卡,刷卡后,阀门打开,此时有流量,不用水时再次刷卡,阀门关,停止取水。工业用水是一个设备对应一个用户卡,如设备正处于取水状态时出现特殊情况断电或者导致设备停止运行,设备恢复正常时无需再次刷卡开泵取水,可直接取水。IC卡遥测终端在液晶上会显示取用水的瞬时流量、累计流量;有箱门开关报警功能,当箱门打开时,上传报警信息;当刷卡开阀门取水或刷卡关阀门停水时,液晶屏上会显示阀门状态,同时将状态上传至中心。 对于现场要求进行图像传输的,我方选用视频图像监测终端,内部核心设备为我公司的MGTR-W系列4G Linux系统安全遥测终端,该产品可外接工业摄像头,负责采集现场图像,通过内嵌的4G通讯模块将采集到的视频上传到监控中心。 软件平台 现场案例
19
2021-1
千未标识浅析标识终究是个什么行业
标识这个名词我们必定很生疏,基本上都不清楚标识这个词终究是什么含义,那么当有人问道标识终究是个什么作业的时分,终究应该怎样答复呢? 标识作为出产标识标牌、精力堡垒、导视体系的制作作业,是应该单独有标识作业这个类目的,可是事实上,标识往往被认为是广告作业,某些地区甚至不能直接注册标识公司,因为没有标识这个作业,所以不能注册。 这是非常不合理的,因为标识作业和广告作业虽然有必定类似,可是差异也是非常明显的。 广告作业,望文生义就是做营销,把产品推广出去,而标识作业则不同,标识首要出产一些公共场所的导导游视指示牌、企业精力堡垒,标识不是为了营销某个产品,而是为了一个公共空间做区域引导的标识牌。 清楚明晰,标识并不是广告作业,所以认清商场就是看到作业翻开的明日。 现在商业标识起步最早,收到海外品牌的影响许多,形成了必定的商业及技术本钱壁垒,所以现在国内新建公司很难在该作业界有较好的翻开。 在当时的广告标识制作无法突破固有方法和海外的品牌发生竞争力,所以无法满意将来客户对各自领域产品的更高要求。在往后的翻开中可酌情引进外来理念,经过整合、补偿、完善来打造符合 本乡条件和客户需求的团队来承受结束本地项目。 所以要与时俱进看清并深入研究商场,生动发挥自身特长,跟着商场需求的前进,不断前进自身迎合商场的能 力,才能使标识作业健康快速翻开。