Перейти к содержимому

2.1 Модель Machine

Двойник Machine — единственный источник правды о станке. Конфиг LinuxCNC порождается из него при каждом запуске; импорт со стенда только засевает двойник и второй истины не создаёт. Ниже — схема модели, снятая с самой модели: 42 полей верхнего уровня и 18 вложенных схем.

Поля верхнего уровня

полетипобязательноумолчание
idstringда
namestringда
profile_idstringда
tokenstringда
onlinebooleanfalse
last_seen_atstring?
last_stateobject
created_atstringда
notesstring?
is_servicebooleanfalse
descriptionstring?
kinematics_template_idstringcustom
kinematics_rawstring?
coordinatesstring?
axesAxisLimits[]
world_axesAxisLimits[]
axis_drivesAxisDrive[]
bus_slavesBusSlave[]
spindleSpindleSpec?
end_effectorEndEffector?
work_offsetsobject?
current_setupMachineSetup?
cell_framesCellFrame[]
toolsToolSpec[]
table_size_mmnumber[]?
unitsstringmm
safe_z_mmnumber5
plunge_feed_mm_minnumber100
tool_setterToolSetterSpec?
tool_change_modestringmanual
deenergize_after_programbooleanfalse
idle_torque_off_mininteger10
idle_session_off_mininteger30
stand_no_mechanicsbooleanfalse
allow_motion_without_homingbooleanfalse
preferred_run_modestring?
palette_gripperPaletteGripperSpec?
outputsMachineOutput[]?
inputsMachineInput[]?
custom_propertiesobject
mechanism_idstring?
current_program_idstring?

Тип с ? допускает null. Что двойник ЗНАЕТ (паспорт), что ВЫВОДИТ (функция, а не поле) и что ОТРАЖАЕТ с железа (позиции, statusword) — три разных класса полей; выводимое в двойнике не хранится.

Вложенные схемы

схемаполя
AxisDriveaxis_kind · backlash_mm · disabled · drive_egear_den · drive_egear_num · drive_io · drive_type · dynamics_source · effector_axis_id · enc_cpr · enc_zero · enc_zero_shift_mm · enc_zero_source · enc_zero_stale_reason · enc_zero_stale_ts · enc_zero_ts · ferror_mm · gear_den · gear_num · gravity_loaded · home_is_shared · home_offset_mm · home_sequence · invert · joint_index · lcec_type · lead_mm · max_acceleration_mm_s2 · max_limit_mm · max_velocity_mm_min · min_ferror_mm · min_limit_mm · motor · name · scale_source · servo_limit_margin_mm · slave_name · slave_pid · slave_position · slave_vid · travel_source · type · virtual
AxisLimitshome_offset_mm · max_acceleration_mm_s2 · max_limit_mm · max_velocity_mm_min · min_limit_mm · name · scale_counts_per_mm
BusSlavealias · device_type · kind · last_seen_at · lcec_type · matched_by · model · name · pid · position · present · vendor · vid
CellFrameabc · id · label · machine_id · notes · role · source · taught_ts · xyz
DriveIoBindingdirection · invert · note · port · role
EffectorBindingaddress · kind · max_value · min_value · notes · scale · transport · units · value_off · value_on · verb
EffectorProfilematerial · name · notes · values
EndEffectorbindings · config_id · kind · label · needs · needs_servos · notes · params · profiles · program_id · signals · spindles · verbs
Fixtureclamp_output · closed_input · effector_config_id · kind
MachineInputactive_low · kind · name · pin · port
MachineOutputkind · name · pin · port · trigger
MachineSetupcreated_at · cut_through_mm · fixture · id · material_id · measured_at · notes · origin_mm · sacrificial_mm · skew_checked_at · skew_deg · stock_size_mm · stock_source · updated_at · z_offset_mm · zero
MotorPassportencoder_bits · max_rpm · model · motor_code · note · power_w · rated_current_a · rated_rpm · rated_torque_nm · source · stated_at
PaletteGripperSpecengage_pin · max_capacity_kg · notes · palette_standard_id · pickup_time_s · release_pin · sensor_engaged_pin · travel_range_mm · type
SetupZerocontact_source · corner · touch_diameter_mm
SpindleSpecer_collet · gear_den · gear_num · gear_source · has_vfd · max_rpm · min_rpm · motor · power_w · ramp_s · rpm_source · slave_pid · slave_position · slave_vid · vel_gain
ToolSetterSpecenabled · feed_mm_min · max_probe_mm · x_mm · y_mm · z_safe_mm
ToolSpeca_offset_deg · b_offset_deg · back_angle_deg · c_offset_deg · catalog_tool_id · diameter_mm · flutes · front_angle_deg · length_mm · material · measured_at · measured_by · name · nose_radius_mm · orientation · pocket · tool_id · type · u_offset_mm · v_offset_mm · w_offset_mm · x_offset_mm

Три схемы, на которых держится путь программы: MachineSetup — где лежит заготовка и ноль детали; ToolSpec — слот стола с вылетом и его происхождением; AxisDrive — привязка оси к приводу и числа, которые уезжают в .ini.

Порождено из кода. Источник: backend/src/aicnc/models/machine.py :: Machine.model_json_schema()
Пересборка: bash /opt/synctwin/site/scripts/refresh-integrator.sh · снято 2026-09-11T20:07:30+00:00
Руками на этой странице написано: вводный абзац и пояснение к трём схемам