public void addBicoConnection(BicoConnection conn) { bicoConnections.add(conn); }
// Load from ACX XML (simplified) public static DataPackage fromAcxXml(String xmlContent) { // XML parsing logic would go here (using JAXB or DOM) return new DataPackage(); // placeholder } } public class DriveUnit { private String id; private String type; // "CU320-2", "S120_Combi" private List<DriveAxis> axes = new ArrayList<>(); private Infeed infeed; // getters, setters, toAcxXml()... } Siemens.mc.drives.acx.model.configuration Data.package
public class DriveAxis { private String axisId; private Motor motor; private Encoder encoder; private int telegramType; // e.g., 105, 7 private Map<Integer, Parameter> parameters = new HashMap<>(); } private String type
// Add complete drive unit (infeed + axes) public void addDriveUnit(DriveUnit unit) { driveUnits.add(unit); } "S120_Combi" private List<
public class Parameter { private int index; // P-number private int subindex; // often 0 private Object value; // int, double, boolean, String private DataType dataType; // enum } (not Java) Here’s a minimal complete ACX file for a single SINAMICS S120 axis:
public class DataPackage { private String schemaVersion = "1.0"; private String driveFamily = "SINAMICS_S120"; private List<DriveUnit> driveUnits = new ArrayList<>(); private List<BicoConnection> bicoConnections = new ArrayList<>(); private Map<String, Parameter> globalParameters = new HashMap<>();