SA-201H称重控制器:高精度皮带秤仪表技术手册

1 下载量 64 浏览量 更新于2024-07-14 收藏 1.23MB PDF 举报
"SA-201H称重控制器是一款由南京三埃自控设备有限公司研发的高精度、高可靠性皮带秤仪表,适用于多种工业环境的连续计量和定量配料。这款控制器采用先进的87C520 CPU和24位A/D转换器,能够智能控制电机速度,适应不同的给料设备。用户在使用前应详细阅读使用手册,了解其技术参数、功能、接线方法和操作步骤。" 本文详细介绍了SA-201H称重控制器的主要技术参数和功能。仪表的称重线性度为0.02%F•S,确保了测量的精确性;称重输入灵敏度为0.15μV/d,即使微小的重量变化也能被准确捕捉。测速正脉冲输入分辨率为0.001%,可处理广泛的脉冲频率,从0到1000Hz,适合高速或低速皮带秤应用。 仪表可以连接4只称重传感器,最大距离不超过1500米,保证了远程操作的可行性。皮带秤零点和称重信号输入范围分别为0~30mV和特定的电压值,确保了信号的稳定传输。此外,控制器还提供了PID电流输出,能通过调速器或变频器控制电机,适应圆盘、电振器、螺旋给料设备等不同类型的定量给料方式。 在功能方面,SA-201H控制器具备丰富的功能,包括但不限于实时重量显示、累计重量计算、配料控制、零点校准、故障诊断等。手册中还详细列出了仪表接线端子的说明、接线方法、基本操作步骤以及参数设置和功能描述,方便用户进行调试和维护。 此外,该控制器的特色在于其省配线解决方案,减少了现场布线的复杂性,提高了系统的可靠性和安装效率。南京三埃自控设备有限公司提供的全球独家推出的全覆盖型省配线方案,简化了系统集成,降低了工程成本。 SA-201H称重控制器是一款集高精度、多功能、易操作和远程兼容性于一体的先进设备,广泛应用于工业自动化领域,尤其在冶金、矿山、化工和交通等行业中的皮带秤系统中发挥着关键作用。用户在使用过程中,需按照手册的指导进行操作,以确保设备正常运行和数据的准确无误。

for k in range(cfg.RPN.SA_CONFIG.NPOINTS.__len__()): mlps = cfg.RPN.SA_CONFIG.MLPS[k].copy() channel_out = 0 for idx in range(mlps.__len__()): mlps[idx] = [channel_in] + mlps[idx] channel_out += mlps[idx][-1] self.SA_modules.append( PointnetSAModuleMSG( npoint=cfg.RPN.SA_CONFIG.NPOINTS[k], radii=cfg.RPN.SA_CONFIG.RADIUS[k], nsamples=cfg.RPN.SA_CONFIG.NSAMPLE[k], mlps=mlps, use_xyz=use_xyz, bn=cfg.RPN.USE_BN ) ) skip_channel_list.append(channel_out) channel_in = channel_out self.FP_modules = nn.ModuleList() for k in range(cfg.RPN.FP_MLPS.__len__()): pre_channel = cfg.RPN.FP_MLPS[k + 1][-1] if k + 1 < len(cfg.RPN.FP_MLPS) else channel_out self.FP_modules.append( PointnetFPModule(mlp=[pre_channel + skip_channel_list[k]] + cfg.RPN.FP_MLPS[k]) ) def _break_up_pc(self, pc): xyz = pc[..., 0:3].contiguous() features = ( pc[..., 3:].transpose(1, 2).contiguous() if pc.size(-1) > 3 else None ) return xyz, features def forward(self, pointcloud: torch.cuda.FloatTensor): xyz, features = self._break_up_pc(pointcloud) l_xyz, l_features = [xyz], [features] for i in range(len(self.SA_modules)): li_xyz, li_features = self.SA_modules[i](l_xyz[i], l_features[i]) l_xyz.append(li_xyz) l_features.append(li_features) for i in range(-1, -(len(self.FP_modules) + 1), -1): l_features[i - 1] = self.FP_modules[i]( l_xyz[i - 1], l_xyz[i], l_features[i - 1], l_features[i] ) return l_xyz[0], l_features[0]在forward函数中,如果我要使用channel_out变量传入SA_modules中,我该如何在forward函数中计算并得到它,再传入SA_modules中,你可以给我详细的代码吗?

2023-05-23 上传

class SelfAttention(nn.Module): def init(self, in_channels, reduction=4): super(SelfAttention, self).init() self.avg_pool = nn.AdaptiveAvgPool1d(1) self.fc1 = nn.Conv1d(in_channels, in_channels // reduction, 1, bias=False) self.relu = nn.ReLU(inplace=True) self.fc2 = nn.Conv1d(in_channels // reduction, in_channels, 1, bias=False) self.sigmoid = nn.Sigmoid() def forward(self, x): b, c, n = x.size() y = self.avg_pool(x) y = self.fc1(y) y = self.relu(y) y = self.fc2(y) y = self.sigmoid(y) return x * y.expand_as(x) def get_model(input_channels=6, use_xyz=True): return Pointnet2MSG(input_channels=input_channels, use_xyz=use_xyz) class Pointnet2MSG(nn.Module): def init(self, input_channels=6, use_xyz=True): super().init() self.SA_modules = nn.ModuleList() channel_in = input_channels skip_channel_list = [input_channels] for k in range(cfg.RPN.SA_CONFIG.NPOINTS.len()): mlps = cfg.RPN.SA_CONFIG.MLPS[k].copy() channel_out = 0 for idx in range(mlps.len()): mlps[idx] = [channel_in] + mlps[idx] channel_out += mlps[idx][-1] mlps.append(channel_out) self.SA_modules.append( nn.Sequential( PointnetSAModuleMSG( npoint=cfg.RPN.SA_CONFIG.NPOINTS[k], radii=cfg.RPN.SA_CONFIG.RADIUS[k], nsamples=cfg.RPN.SA_CONFIG.NSAMPLE[k], mlps=mlps, use_xyz=use_xyz, bn=cfg.RPN.USE_BN ), SelfAttention(channel_out) ) ) skip_channel_list.append(channel_out) channel_in = channel_out self.FP_modules = nn.ModuleList() for k in range(cfg.RPN.FP_MLPS.len()): pre_channel = cfg.RPN.FP_MLPS[k + 1][-1] if k + 1 < len(cfg.RPN.FP_MLPS) else channel_out self.FP_modules.append( PointnetFPModule( mlp=[pre_channel + skip_channel_list[k]] + cfg.RPN.FP_MLPS[k] ) ) def _break_up_pc(self, pc): xyz = pc[..., 0:3].contiguous() features = ( pc[..., 3:].transpose(1, 2).contiguous() if pc.size(-1) > 3 else None ) return xyz, features def forward(self, pointcloud: torch.cuda.FloatTensor): xyz, features = self._break_up_pc(pointcloud) l_xyz, l_features = [xyz], [features] for i in range(len(self.SA_modules)): li_xyz, li_features = self.SA_modules[i](l_xyz[i], l_features[i]) l_xyz.append(li_xyz) l_features.append(li_features) for i in range(-1, -(len(self.FP_modules) + 1), -1): l_features[i - 1] = self.FP_modules[i]( l_xyz[i - 1], l_xyz[i], l_features[i - 1], l_features[i] ) return l_xyz[0], l_features[0]在forward函数中,如果我要使用channel_out变量和l_xyz[i], l_features[i]传入SA_modules中,我该如何在forward函数中计算并得到它,再传入SA_modules中,你可以给我详细的代码吗?

2023-05-23 上传