Habe heute mal ein Programm in C geschrieben, welches mir die Jobnumber in der XML ändert
Nur habe ich ein Problem, wie ich die Variablen mit den aus dem Datenbaustein der SPS verbinden soll.
# include <stdio.h>
# include <stdlib.h>
# include <windows.h>
main () {
FILE *stream2;
int trigger, Jobnumber;
trigger = 1; //später muss sie mit dem DB aus der SPS verknüpft werden
Jobnumber = 30; //später muss sie mit dem DB aus der SPS verknüpft werden
//Schreiben in eine Datei
if(trigger == 0) {
printf("\nNun werden die Daten in Kackwurscht eingetragen!\n");
stream2 = fopen("Kackwurscht.xml","w");
fprintf(stream2,"<MODULE name='BpApplication' valuetype='BpApplication'>\n");
fprintf(stream2,"<MODULE name='BpManager' valuetype='BpManager'>\n");
fprintf(stream2,"</MODULE>\n");
fprintf(stream2,"<MODULE name='ScanningRulerSnapshotCamera' valuetype='ScanningRulerSnapshotCamera'>\n");
fprintf(stream2,"<PARAMETER valuetype='string' name='IPADDRESS' runtime='false' info='Camera IP' >192.168.168.15</PARAMETER>\n");
fprintf(stream2,"<PARAMETER valuetype='string' name='PARAMETER_FILE' runtime='false' info='Relative or full path to camera parameter file' >parameters\parameters_RulerS-2114_2M.prm</PARAMETER>\n");
fprintf(stream2,"<PARAMETER valuetype='string' name='HANDEYECALIBRATION_FILE' runtime='false' info='Relative or full path to handEye calibration param file' >parameters\Calibration_20120628B.txt</PARAMETER>\n");
fprintf(stream2,"</MODULE>\n");
fprintf(stream2,"<MODULE name='FileSnapshotCamera' valuetype='FileSnapshotCamera'>\n");
fprintf(stream2,"<PARAMETER valuetype='string' name='DATA_PATH' runtime='false' >C:\Dokumente und Einstellungen\Rasche\Eigene Dateien\SICK\PLB\Recordings\Recording_2012-04-04T16.58.19.125000\00000000</PARAMETER>\n");
fprintf(stream2,"</MODULE>\n");
fprintf(stream2,"<MODULE name='TCPIPRobotInterface' valuetype='TCPIPRobotInterface'>\n");
fprintf(stream2,"<PARAMETER valuetype='int' name='PORT' min='1024' max='65535' runtime='false' info='Server port for robot communication' >6008</PARAMETER>\n");
fprintf(stream2,"<PARAMETER valuetype='string' name='ROBOT_INTERFACE_TEMPLATE' runtime='false' info='File which points to a CFG template file for robot communication' >parameters\RobotInterfaceTemplateIRPA.cfg</PARAMETER>\n");
fprintf(stream2,"<PARAMETER valuetype='bool' name='ENABLE_SWEEP_DONE' runtime='false' info='Set to true if system shall send SweepDone signal over TCP/IP when scan is completed' >true</PARAMETER>\n");
fprintf(stream2,"</MODULE>\n");
fprintf(stream2,"<MODULE name='CandidateSelectionBinPicking3D' valuetype='CandidateSelectionBinPicking3D'>\n");
fprintf(stream2,"<PARAMETER valuetype='int' name='MODEL_ID' min='0' max='100' runtime='false' info='CAD Model ID to be used' >%i</PARAMETER>\n", Jobnumber);
fprintf(stream2,"<PARAMETER valuetype='int' name='OUTPUT_FORMAT' min='0' max='1' runtime='false' info='Enter rotation description type (valid values: 0=XYZ, 1=ZYX)' >1</PARAMETER>\n");
fprintf(stream2,"</MODULE>\n");
fprintf(stream2,"<PARAMETER valuetype='int' name='SNAPSHOT_CAMERA_TYPE' min='0' max='2' runtime='false' info='ScanningRuler = 0, File = 2' >0</PARAMETER>\n");
fprintf(stream2,"<PARAMETER valuetype='string' name='LICENSE_ACTIVATION_KEY' runtime='false' info='If a key is inserted, it will activate the license, when a camera is next connected. When license is activated, this value can be removed.' >fCcF4-07l8B-XzG6C-4W9Eq-MNl1Q-5G1wV-6Y0LG-bu4Kh-Z0350</PARAMETER>\n");
fprintf(stream2,"</MODULE>\n");
fprintf(stream2,"\n");
fprintf(stream2,"<!-- fCcF4-07l8B-XzG6C-4W9Eq-MNl1Q-5G1wV-6Y0LG-bu4Kh-Z0350 -->\n");
fclose(stream2);
}
else{
sleep();
}
// system("pause");
}