设备增加AGV小车,机械臂,检测设备参数

This commit is contained in:
qihao.gong@jikimo.com
2023-10-07 17:26:09 +08:00
parent ac6315c76a
commit af05d3ec30
4 changed files with 650 additions and 6 deletions

View File

@@ -3,7 +3,7 @@
}
.test_model > .o_form_label {
margin-left: 20px;
margin-left: 0px !important;
margin-right: 0px !important;
white-space: nowrap;
}
@@ -289,4 +289,13 @@ div[class="o_content o_component_with_search_panel"] .o_kanban_primary_right > .
.text-bg-warning {
background-color: #FED300 !important;
}
.test_model>div {
display: flex;
width: 40%;
}
.test_model>div .o_field_widget {
width: 40% !important;
}

View File

@@ -251,10 +251,78 @@ class SfMaintenanceEquipment(models.Model):
AGV_gradeability_max = fields.Integer('最大爬坡度')
AGV_parking_accuracy = fields.Char('停车精度')
AGV_load_weight_max = fields.Char('最大负载重量')
AGV_load_weight_max = fields.Char('最大负载重量')
AGV_weight = fields.Char('本体总重量')
AGV_job_duration = fields.Char('连续作业时长')
AGV_transfer_mode = fields.Char('移载方式')
AGV_drive_motor_power = fields.Char('驱动电机功率')
AGV_hoist_motor_power = fields.Char('提升电机功率')
AGV_drive_motor_speed_ratio = fields.Char('驱动电机速比')
AGV_veer_motor_power = fields.Char('转向电机功率')
AGV_veer_motor_speed_ratio = fields.Char('转向电机速比')
AGV_move_motor_power = fields.Char('前移电机功率')
AGV_move_motor_speed_ratio = fields.Char('前移电机速比')
AGV_drive_mode = fields.Char('驱动方式')
AGV_navigation_mode = fields.Char('导航方式')
AGV_communication_mode = fields.Char('通讯方式')
AGV_direction_travel = fields.Char('行走方向')
AGV_power_requirements = fields.Char('电源要求')
AGV_charge_mode = fields.Selection([('手动', '手动'), ('自动', '自动')], string='充电方式')
AGV_security = fields.Char('安全防护')
AGV_operating_temperature = fields.Char('环境温度')
AGV_operating_humidity = fields.Char('环境湿度')
# 三元检测设备参数
detect_L = fields.Char('设备尺寸(长)')
detect_W = fields.Char('设备尺寸(宽)')
detect_H = fields.Char('设备尺寸(高)')
detect_x_axis = fields.Char('X轴')
detect_y_axis = fields.Char('Y轴')
detect_z_axis = fields.Char('Z轴')
detect_precision = fields.Char('测量精度')
detect_measurement_mode = fields.Selection([('光栅尺', '光栅尺'), ('容栅', '容栅'), ('磁栅', '磁栅'), ('激光干涉仪', '激光干涉仪')], string='测量方式')
detect_resolution = fields.Char('分辨率')
detect_load_weight_max = fields.Char('最大负载重量')
detect_weight = fields.Char('本体总重量')
detect_measurement_length = fields.Char('深孔测量长度(max)')
detect_control_mode = fields.Char('控制方式')
detect_balance_mode_for_Z = fields.Char('Z轴平衡方式')
detect_zoom_objective_magnification = fields.Char('变焦物镜倍率')
detect_magnification = fields.Char('放大倍率')
detect_working_distance = fields.Char('工作距离')
detect_locking_mode = fields.Char('锁紧方式')
detect_pressurized_air = fields.Char('压缩空气')
detect_object_field_of_view_max = fields.Char('物方视场(最大)')
detect_object_field_of_view_min = fields.Char('物方视场(最小)')
detect_power_requirements = fields.Char('电源要求')
detect_operating_temperature = fields.Char('环境温度')
detect_operating_humidity = fields.Char('环境湿度')
# 机器人设备参数
robot_gripping_of_workpieces_L = fields.Char('可抓取工件(长)')
robot_gripping_of_workpieces_W = fields.Char('可抓取工件(宽)')
robot_gripping_of_workpieces_H = fields.Char('可抓取工件(高)')
robot_radius_of_the_boom = fields.Char('展臂半径')
robot_load_weight_max = fields.Char('最大负载重量')
robot_weight = fields.Char('本体总重量')
robot_repeatable_positioning_accuracy = fields.Char('重复定位精度')
robot_axis_num = fields.Selection([('2轴', '2轴'), ('3轴', '3轴'), ('4轴', '4轴'), ('5轴', '5轴'), ('6轴', '6轴'), ('7轴', '7轴'), ('8轴', '8轴')], string='轴数')
axis_ids = fields.One2many('sf.robot.axis.num', 'equipment_id', string='动作范围')
robot_track_dimensions_L = fields.Char('轨道尺寸(长)')
robot_track_dimensions_W = fields.Char('轨道尺寸(宽)')
robot_track_dimensions_H = fields.Char('轨道尺寸(高)')
robot_drive_mode = fields.Char('驱动方式')
robot_installation_method = fields.Selection([('置地式', '置地式'), ('壁挂式', '壁挂式'), ('倒挂式', '倒挂式')], string='安装方式')
robot_operating_temperature = fields.Char('环境温度')
robot_operating_humidity = fields.Char('环境湿度')
@@ -540,3 +608,16 @@ class MaintenanceStandardImage(models.Model):
new_res.append([id, name, data_uri])
# 返回新的结果列表
return new_res
class SfRobotAxisNum(models.Model):
_name = 'sf.robot.axis.num'
_description = '机器人轴参数'
name = fields.Char('*轴')
angle_min = fields.Char('最小角度-(°)')
angle_max = fields.Char('最大角度+(°)')
velocity = fields.Char('最大速度(°/s)')
weight = fields.Char('最大负载(kg)')
permissible_load_torque = fields.Char('允许负载扭矩(N-m)')
permissible_inertial_torque = fields.Char('允许惯性扭矩(kg-m²)')
equipment_id = fields.Many2one('maintenance.equipment', string='机器人', domain="[('equipment_type', '=', '机器人')]")

View File

@@ -5,6 +5,7 @@ access_maintenance_equipment,maintenance_equipment,model_maintenance_equipment,b
access_maintenance_standards,maintenance_standards,model_maintenance_standards,base.group_user,1,1,1,1
access_maintenance_standard_image,maintenance_standard_image,model_maintenance_standard_image,base.group_user,1,1,1,1
access_maintenance_equipment_image,maintenance_equipment_image,model_maintenance_equipment_image,base.group_user,1,1,1,1
access_sf_robot_axis_num,sf_robot_axis_num,model_sf_robot_axis_num,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
5 access_maintenance_standards maintenance_standards model_maintenance_standards base.group_user 1 1 1 1
6 access_maintenance_standard_image maintenance_standard_image model_maintenance_standard_image base.group_user 1 1 1 1
7 access_maintenance_equipment_image maintenance_equipment_image model_maintenance_equipment_image base.group_user 1 1 1 1
8 access_sf_robot_axis_num sf_robot_axis_num model_sf_robot_axis_num base.group_user 1 1 1 1
9
10
11

View File

@@ -65,7 +65,8 @@
force_save="1"/>
</xpath>
<xpath expr="//page[@name='description']" position="before">
<page string="设备参数" name="sf_equipment" attrs="{'invisible': [('equipment_type', '!=', '机床')]}">
<page string="设备参数" name="sf_equipment"
attrs="{'invisible': [('equipment_type', '!=', '机床')]}">
<group>
<group string="基本参数">
<field name="control_system_id" required="1" options="{'no_create': True}"/>
@@ -177,11 +178,563 @@
</page>
<page string="设备参数" name="sf_equipment" attrs="{'invisible': [('equipment_type', '!=', 'AGV小车')]}">
<page string="设备参数" name="sf_equipment"
attrs="{'invisible': [('equipment_type', '!=', 'AGV小车')]}">
<group string="AGV基础参数">
<label for="AGV_L" string="设备尺寸(mm)"/>
<div class="test_model">
<label for="AGV_L" string="长"/>
<field name="AGV_L" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
<label for="AGV_W" string="宽"/>
<field name="AGV_W" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
<label for="AGV_H" string="高"/>
<field name="AGV_H" class="o_address_zip" required="1"
options="{'format': false}"/>
</div>
<label for="AGV_goods_L" string="载货尺寸MAX(mm)"/>
<div class="test_model">
<label for="AGV_goods_L" string="长"/>
<field name="AGV_goods_L" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
<label for="AGV_goods_W" string="宽"/>
<field name="AGV_goods_W" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
<label for="AGV_goods_H" string="宽"/>
<field name="AGV_goods_H" class="o_address_zip" required="1"
options="{'format': false}"/>
</div>
<label for="AGV_velocity" string=""/>
<div class="test_model">
<div>
<label for="AGV_velocity" string="标准速度"/>
<field name="AGV_velocity" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>m/S&amp;nbsp;</span>
</div>
<div>
<label for="AGV_velocity_min" string="标准速度(最小)"/>
<field name="AGV_velocity_min" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>m/S&amp;nbsp;</span>
</div>
<div>
<label for="AGV_velocity_max" string="标准速度(最大)"/>
<field name="AGV_velocity_max" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>m/S&amp;nbsp;</span>
</div>
<div>
<label for="AGV_Lifting_height" string="升降高度(max)"/>
<field name="AGV_Lifting_height" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
</div>
<label for="AGV_ground_clearance" string=""/>
<div class="test_model">
<div>
<label for="AGV_ground_clearance" string="最小离地高度"/>
<field name="AGV_ground_clearance" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<div>
<label for="AGV_turning_radius" string="最小转弯半径"/>
<field name="AGV_turning_radius" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<div>
<label for="AGV_gradeability_max" string="最大爬坡度"/>
<field name="AGV_gradeability_max" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>°&amp;nbsp;</span>
</div>
<div>
<label for="AGV_parking_accuracy" string="停车精度"/>
<field name="AGV_parking_accuracy" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
</div>
<label for="AGV_load_weight_max" string=""/>
<div class="test_model">
<div>
<label for="AGV_load_weight_max" string="最大负载重量"/>
<field name="AGV_load_weight_max" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>kg&amp;nbsp;</span>
</div>
<div>
<label for="AGV_weight" string="本体总重量"/>
<field name="AGV_weight" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>kg&amp;nbsp;</span>
</div>
<div>
<label for="AGV_job_duration" string="连续作业时长"/>
<field name="AGV_job_duration" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>h&amp;nbsp;</span>
</div>
<div>
<label for="AGV_transfer_mode" string="移载方式"/>
<field name="AGV_transfer_mode" class="o_address_zip" required="1"
options="{'format': false}"/>
</div>
</div>
<!-- <label for="AGV_parking_accuracy" string="停车精度"/>-->
<!-- <field name="AGV_parking_accuracy" class="o_address_zip" required="1"-->
<!-- options="{'format': false}"/>mm-->
</group>
<group string="电机参数">
<label for="control_system_id" string=""/>
<div class="test_model">
<div>
<label for="control_system_id" string="控制系统"/>
<field name="control_system_id" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="AGV_drive_motor_power" string="驱动电机功率"/>
<field name="AGV_drive_motor_power" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>kw&amp;nbsp;</span>
</div>
<div>
<label for="AGV_hoist_motor_power" string="提升电机功率"/>
<field name="AGV_hoist_motor_power" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>i&amp;nbsp;</span>
</div>
<div>
<label for="AGV_drive_motor_speed_ratio" string="驱动电机速比"/>
<field name="AGV_drive_motor_speed_ratio" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>kw&amp;nbsp;</span>
</div>
</div>
<label for="AGV_veer_motor_power" string=""/>
<div class="test_model">
<div>
<label for="AGV_veer_motor_power" string="转向电机功率"/>
<field name="AGV_veer_motor_power" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>kw&amp;nbsp;</span>
</div>
<div>
<label for="AGV_veer_motor_speed_ratio" string="转向电机速比"/>
<field name="AGV_veer_motor_speed_ratio" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>i&amp;nbsp;</span>
</div>
<div>
<label for="AGV_move_motor_power" string="前移电机功率"/>
<field name="AGV_move_motor_power" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>kw&amp;nbsp;</span>
</div>
<div>
<label for="AGV_move_motor_speed_ratio" string="前移电机速比"/>
<field name="AGV_move_motor_speed_ratio" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>i&amp;nbsp;</span>
</div>
</div>
</group>
<group string="其他参数">
<label for="AGV_drive_mode" string=""/>
<div class="test_model">
<div>
<label for="AGV_drive_mode" string="驱动方式"/>
<field name="AGV_drive_mode" class="o_address_zip" required="1"
options="{'format': false}"/>
</div>
<label for="AGV_navigation_mode" string="导航方式"/>
<field name="AGV_navigation_mode" class="o_address_zip" required="1"
options="{'format': false}"/>
<div>
<label for="AGV_communication_mode" string="通讯方式"/>
<field name="AGV_communication_mode" class="o_address_zip" required="1"
options="{'format': false}"/>
</div>
<div>
<label for="AGV_direction_travel" string="行走方向"/>
<field name="AGV_direction_travel" class="o_address_zip" required="1"
options="{'format': false}"/>
</div>
</div>
<label for="AGV_power_requirements" string=""/>
<div class="test_model">
<label for="AGV_power_requirements" string="电源要求"/>
<field name="AGV_power_requirements" class="o_address_zip" required="1"
options="{'format': false}"/>
<label for="AGV_charge_mode" string="充电方式"/>
<field name="AGV_charge_mode" class="o_address_zip" required="1"
options="{'format': false}"/>
<label for="AGV_security" string="安全防护"/>
<field name="AGV_security" class="o_address_zip" required="1"
options="{'format': false}"/>
</div>
<label for="AGV_operating_temperature" string="工作条件"/>
<div class="test_model">
<label for="AGV_operating_temperature" string="环境温度"/>
<field name="AGV_operating_temperature" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>°&amp;nbsp;</span>
<label for="AGV_operating_humidity" string="环境湿度"/>
<field name="AGV_operating_humidity" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>°&amp;nbsp;</span>
</div>
</group>
</page>
<page string="设备参数" name="sf_equipment" attrs="{'invisible': [('equipment_type', '!=', '机器人')]}">
<page string="设备参数" name="sf_equipment"
attrs="{'invisible': [('equipment_type', '!=', '机器人')]}">
<group string="机器人设备参数">
<label for="robot_gripping_of_workpieces_L" string="抓取工件最大尺寸"/>
<div class="test_model">
<label for="robot_gripping_of_workpieces_L" string="长"/>
<field name="robot_gripping_of_workpieces_L" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
<label for="robot_gripping_of_workpieces_W" string="宽"/>
<field name="robot_gripping_of_workpieces_W" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
<label for="robot_gripping_of_workpieces_H" string="高"/>
<field name="robot_gripping_of_workpieces_H" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<label for="robot_radius_of_the_boom" string=""/>
<div class="test_model">
<div>
<label for="robot_radius_of_the_boom" string="展臂半径"/>
<field name="robot_radius_of_the_boom" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<div>
<label for="robot_load_weight_max" string="最大负载重量"/>
<field name="robot_load_weight_max" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>kg&amp;nbsp;</span>
</div>
<div>
<label for="robot_gripping_of_workpieces_H" string="本体总重量"/>
<field name="robot_gripping_of_workpieces_H" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>kg&amp;nbsp;</span>
</div>
<div>
<label for="robot_repeatable_positioning_accuracy" string="重复定位精度"/>
<field name="robot_repeatable_positioning_accuracy" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
</div>
<field name = 'robot_axis_num'/>
<field name = 'axis_ids' widget="One2many">
<tree editable='bottom'>
<field name="name"/>
<field name="angle_min"/>
<field name="angle_max"/>
<field name="velocity"/>
<field name="weight"/>
<field name="permissible_load_torque"/>
<field name="permissible_inertial_torque"/>
</tree>
</field>
<label for="robot_track_dimensions_L" string="轨道尺寸"/>
<div class="test_model">
<label for="robot_track_dimensions_L" string="长"/>
<field name="robot_track_dimensions_L" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
<label for="robot_track_dimensions_W" string="宽"/>
<field name="robot_track_dimensions_W" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
<label for="robot_track_dimensions_H" string="高"/>
<field name="robot_track_dimensions_H" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<label for="control_system_id" string=""/>
<div class="test_model">
<label for="control_system_id" string="控制系统"/>
<field name="control_system_id" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
<label for="robot_drive_mode" string="驱动方式"/>
<field name="robot_drive_mode" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
<label for="robot_installation_method" string="安装方式"/>
<field name="robot_installation_method" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<label for="robot_operating_temperature" string="工作条件"/>
<div class="test_model">
<label for="robot_operating_temperature" string="环境温度"/>
<field name="robot_operating_temperature" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>°&amp;nbsp;</span>
<label for="robot_operating_humidity" string="环境湿度"/>
<field name="robot_operating_humidity" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>°&amp;nbsp;</span>
</div>
</group>
</page>
<page string="设备参数" name="sf_equipment" attrs="{'invisible': [('equipment_type', '!=', '检测设备')]}">
<page string="设备参数" name="sf_equipment"
attrs="{'invisible': [('equipment_type', '!=', '检测设备')]}">
<group string="三元检测设备基础参数">
<label for="detect_L" string="设备尺寸(mm)"/>
<div class="test_model">
<label for="detect_L" string="长"/>
<field name="detect_L" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
<label for="detect_W" string="宽"/>
<field name="detect_W" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
<label for="detect_H" string="高"/>
<field name="detect_H" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<label for="detect_x_axis" string="测量范围(max)"/>
<div class="test_model">
<label for="detect_x_axis" string="X轴"/>
<field name="detect_x_axis" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
<label for="detect_y_axis" string="Y轴"/>
<field name="detect_y_axis" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
<label for="detect_z_axis" string="Z轴"/>
<field name="detect_z_axis" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
<label for="detect_precision" string=""/>
<div class="test_model">
<div>
<label for="detect_precision" string="测量精度"/>
<field name="detect_precision" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>μm&amp;nbsp;</span>
</div>
<div>
<label for="detect_measurement_mode" string="测量方式"/>
<field name="detect_measurement_mode" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="detect_resolution" string="分辨率"/>
<field name="detect_resolution" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
</div>
<label for="detect_load_weight_max" string=""/>
<div class="test_model">
<div>
<label for="detect_load_weight_max" string="最大负载重量"/>
<field name="detect_load_weight_max" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>kg&amp;nbsp;</span>
</div>
<div>
<label for="detect_weight" string="本体总重量"/>
<field name="detect_weight" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>kg&amp;nbsp;</span>
</div>
<div>
<label for="detect_measurement_length" string="深孔测量长度(max)"/>
<field name="detect_measurement_length" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
</div>
</group>
<group string="其他">
<label for="control_system_id" string=""/>
<div class="test_model">
<div>
<label for="control_system_id" string="控制系统"/>
<field name="control_system_id" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="detect_control_mode" string="控制方式"/>
<field name="detect_control_mode" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="detect_balance_mode_for_Z" string="Z轴平衡方式"/>
<field name="detect_balance_mode_for_Z" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
</div>
<label for="detect_zoom_objective_magnification" string=""/>
<div class="test_model">
<div>
<label for="detect_zoom_objective_magnification" string="变焦物镜倍率"/>
<field name="detect_zoom_objective_magnification" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="detect_magnification" string="放大倍率"/>
<field name="detect_magnification" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="detect_working_distance" string="工作距离"/>
<field name="detect_working_distance" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
</div>
<label for="detect_locking_mode" string=""/>
<div class="test_model">
<div>
<label for="detect_locking_mode" string="锁紧方式"/>
<field name="detect_locking_mode" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="detect_pressurized_air" string="压缩空气"/>
<field name="detect_pressurized_air" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
<div>
<label for="detect_object_field_of_view_max" string="物方视场:"/>
<span>最小&amp;nbsp;</span>
<field name="detect_object_field_of_view_max" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm~&amp;nbsp;</span>
<field name="detect_object_field_of_view_min" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>mm&amp;nbsp;</span>
</div>
</div>
<label for="detect_operating_temperature" string="工作条件"/>
<div class="test_model">
<div>
<label for="detect_operating_temperature" string="环境温度"/>
<field name="detect_operating_temperature" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>°&amp;nbsp;</span>
</div>
<div>
<label for="detect_operating_humidity" string="环境湿度"/>
<field name="detect_operating_humidity" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>°&amp;nbsp;</span>
</div>
<div>
<label for="detect_power_requirements" string="电源要求"/>
<field name="detect_power_requirements" class="o_address_zip" required="1"
options="{'format': false}"/>
<span>&amp;nbsp;</span>
</div>
</div>
</group>
</page>
<page string="加工能力">