Workbackup
This commit is contained in:
15
KD_Hoertnagel_Stiftsaege.apj
Normal file
15
KD_Hoertnagel_Stiftsaege.apj
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version="4.9.4.92 SP" WorkingVersion="4.9"?>
|
||||
<Project Description="Stiftsäge" Version="1.00.0" Edition="Standard" EditionComment="Standard" xmlns="http://br-automation.co.at/AS/Project">
|
||||
<Communication />
|
||||
<ANSIC DefaultIncludes="true" />
|
||||
<IEC ExtendedConstants="true" IecExtendedComments="true" KeywordsAsStructureMembers="false" NamingConventions="true" Pointers="true" Preprocessor="false" />
|
||||
<Motion RestartAcoposParameter="true" RestartInitParameter="true" />
|
||||
<Project StoreRuntimeInProject="false" />
|
||||
<Variables DefaultInitValue="0" DefaultRetain="false" DefaultVolatile="true" />
|
||||
<TechnologyPackages>
|
||||
<Acp10Arnc0 Version="5.14.2" />
|
||||
<mapp Version="5.14.1" />
|
||||
<TextSystem udbdef="0.1.0" />
|
||||
</TechnologyPackages>
|
||||
</Project>
|
||||
8
LastUser.set
Normal file
8
LastUser.set
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version="4.9.4.92 SP"?>
|
||||
<ProjectSettings xmlns="http://br-automation.co.at/AS/ProjectSettings">
|
||||
<ConfigurationManager ActiveConfigurationName="Config1" />
|
||||
<Deployment Value="ActiveCpu" />
|
||||
<ExportProject ExportFilePath="D:\src44\KD_Hoertnagel_Fraese\KD_Hoertnagel_Fraese.zip" />
|
||||
<Print Footer="%cPage: %p" Header="%lProject: %n%c%x" />
|
||||
</ProjectSettings>
|
||||
7
Logical/AxisObjects/ENC2ENDAT/Apt.dob
Normal file
7
Logical/AxisObjects/ENC2ENDAT/Apt.dob
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio FileVersion="4.9"?>
|
||||
<DataObject SubType="Apt" xmlns="http://br-automation.co.at/AS/DataObject">
|
||||
<Files>
|
||||
<File>ENC2ENDAT.apt</File>
|
||||
</Files>
|
||||
</DataObject>
|
||||
13
Logical/AxisObjects/ENC2ENDAT/ENC2ENDAT.apt
Normal file
13
Logical/AxisObjects/ENC2ENDAT/ENC2ENDAT.apt
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio FileVersion="4.9"?>
|
||||
<AcoposParameterTable>
|
||||
<Root Name="Parameters" Description="Glasmasstab">
|
||||
<Parameter Name="ENCOD2_LINE_CHK_IGNORE" ID="728" Value="0x10" Disabled="FALSE" Description="Encoder2: Ignore check MT Fehler ignorieren" />
|
||||
<Parameter Name="ENCOD2_TYPE" ID="85" Value="ncENDAT" Disabled="FALSE" Description="Encoder2: Type" />
|
||||
<Parameter Name="SCALE_ENCOD2_INCR" ID="289" Value="19660800" Disabled="FALSE" Description="Encoder2: Encoder scaling: Increments per encoder revolution" />
|
||||
<Parameter Name="SCALE_ENCOD2_UNITS" ID="420" Value="2400" Unit="Units" Description="Encoder2: Load scaling: Units per load revolution 1/100mm" />
|
||||
<Parameter Name="SCALE_ENCOD2_REV" ID="421" Value="1" Description="Encoder2: Load scaling: Encoder revolutions" />
|
||||
<Parameter Name="F_SWITCH" ID="347" Value="20000" Unit="cps" Disabled="TRUE" Description="Inverter: Switch frequency" />
|
||||
<Parameter Name="MOTOR_CURR_ROT_DIR" ID="872" Value="ncINVERSE" Disabled="TRUE" Description="Motor: Rotational direction of current" />
|
||||
</Root>
|
||||
</AcoposParameterTable>
|
||||
7
Logical/AxisObjects/ENC2INC/Apt.dob
Normal file
7
Logical/AxisObjects/ENC2INC/Apt.dob
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio FileVersion="4.9"?>
|
||||
<DataObject SubType="Apt" xmlns="http://br-automation.co.at/AS/DataObject">
|
||||
<Files>
|
||||
<File>ENC2INC.apt</File>
|
||||
</Files>
|
||||
</DataObject>
|
||||
12
Logical/AxisObjects/ENC2INC/ENC2INC.apt
Normal file
12
Logical/AxisObjects/ENC2INC/ENC2INC.apt
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio FileVersion="4.9"?>
|
||||
<AcoposParameterTable>
|
||||
<Root Name="Parameters" Description="Glasmasstab">
|
||||
<Parameter Name="ENCOD2_TYPE" ID="85" Value="ncINC" Disabled="FALSE" Description="Encoder2: Type" />
|
||||
<Parameter Name="ENCOD2_SUPPLY_VOLTAGE" ID="1576" Value="12" Unit="V" Description="Encoder2: Output voltage of the encoder supply" />
|
||||
<Parameter Name="SCALE_ENCOD2_INCR" ID="289" Value="19660800" Disabled="FALSE" Description="Encoder2: Encoder scaling: Increments per encoder revolution" />
|
||||
<Parameter Name="ENCOD2_LINES_PER_REVO" ID="1572" Value="1200" Disabled="FALSE" Description="Encoder2: Encoder scaling: Lines/signal periods per encoder revolution - Fehler in NCT" />
|
||||
<Parameter Name="SCALE_ENCOD2_UNITS" ID="420" Value="2400" Unit="Units" Description="Encoder2: Load scaling: Units per load revolution 1/100mm" />
|
||||
<Parameter Name="SCALE_ENCOD2_REV" ID="421" Value="1" Description="Encoder2: Load scaling: Encoder revolutions" />
|
||||
</Root>
|
||||
</AcoposParameterTable>
|
||||
10
Logical/AxisObjects/Package.pkg
Normal file
10
Logical/AxisObjects/Package.pkg
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio FileVersion="4.9"?>
|
||||
<Package xmlns="http://br-automation.co.at/AS/Package">
|
||||
<Objects>
|
||||
<Object Type="DataObject" Language="Apt" Description="Encoder 2 als Inkrementalgeber initialisieren">ENC2INC</Object>
|
||||
<Object Type="DataObject" Language="Apt" Description="Encoder 2 als ENDAT Geber initialisieren">ENC2ENDAT</Object>
|
||||
<Object Type="DataObject" Language="Ax" Description="Inittab Y Achse Sägevorschub">gAxisYi</Object>
|
||||
<Object Type="DataObject" Language="Ax" Description="Inittab X Achse Drahtvorschub">gAxisXi</Object>
|
||||
</Objects>
|
||||
</Package>
|
||||
7
Logical/AxisObjects/gAxisXi/Ax.dob
Normal file
7
Logical/AxisObjects/gAxisXi/Ax.dob
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio FileVersion="4.9"?>
|
||||
<DataObject SubType="Ax" xmlns="http://br-automation.co.at/AS/DataObject">
|
||||
<Files>
|
||||
<File>gAxisXi.ax</File>
|
||||
</Files>
|
||||
</DataObject>
|
||||
189
Logical/AxisObjects/gAxisXi/gAxisXi.ax
Normal file
189
Logical/AxisObjects/gAxisXi/gAxisXi.ax
Normal file
@@ -0,0 +1,189 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.9.3.144 SP?>
|
||||
<InitParameter Version="5.14.2" NcSwId="Acp10">
|
||||
<Group ID="ACP10AXIS_typ">
|
||||
<Group ID="dig_in">
|
||||
<Group ID="level">
|
||||
<Parameter ID="reference" Value="ncACTIV_HI" />
|
||||
<Parameter ID="pos_hw_end" Value="ncACTIV_HI" />
|
||||
<Parameter ID="neg_hw_end" Value="ncACTIV_HI" />
|
||||
<Parameter ID="trigger1" Value="ncACTIV_HI" />
|
||||
<Parameter ID="trigger2" Value="ncACTIV_HI" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group ID="encoder_if">
|
||||
<Group ID="parameter">
|
||||
<Parameter ID="count_dir" Value="ncSTANDARD" />
|
||||
<Group ID="scaling">
|
||||
<Group ID="load">
|
||||
<Parameter ID="units" Value="2400" Description="Units at the load [1/100mm]" />
|
||||
<Parameter ID="rev_motor" Value="1" />
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group ID="limit">
|
||||
<Group ID="parameter">
|
||||
<Parameter ID="v_pos" Value="50000.0" />
|
||||
<Parameter ID="v_neg" Value="50000.0" />
|
||||
<Parameter ID="a1_pos" Value="50000" />
|
||||
<Parameter ID="a2_pos" Value="50000" />
|
||||
<Parameter ID="a1_neg" Value="50000" />
|
||||
<Parameter ID="a2_neg" Value="50000" />
|
||||
<Parameter ID="t_jolt" Value="0.0" />
|
||||
<Parameter ID="t_in_pos" Value="0" />
|
||||
<Parameter ID="pos_sw_end" Value="2000000000" />
|
||||
<Parameter ID="neg_sw_end" Value="-2000000000" />
|
||||
<Parameter ID="ds_warning" Value="10.0" />
|
||||
<Parameter ID="ds_stop" Value="20.0" />
|
||||
<Parameter ID="a_stop" Value="1.0e30" />
|
||||
<Parameter ID="dv_stop" Value="0" />
|
||||
<Parameter ID="dv_stop_mode" Value="ncOFF" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group ID="controller">
|
||||
<Parameter ID="mode" Value="ncPOSITION + ncFF" />
|
||||
<Group ID="position">
|
||||
<Parameter ID="kv" Value="130.0" />
|
||||
<Parameter ID="tn" Value="0" />
|
||||
<Parameter ID="t_predict" Value="0.0004" />
|
||||
<Parameter ID="t_total" Value="0.0004" />
|
||||
<Parameter ID="p_max" Value="1.0e30" />
|
||||
<Parameter ID="i_max" Value="0" />
|
||||
</Group>
|
||||
<Group ID="speed">
|
||||
<Parameter ID="kv" Value="1.9" Description="Proportional amplification 10.9" />
|
||||
<Parameter ID="tn" Value="0.012" />
|
||||
<Parameter ID="t_filter" Value="0.0004" />
|
||||
<Group ID="isq_filter1">
|
||||
<Parameter ID="type" Value="ncOFF" />
|
||||
<Parameter ID="a0" Value="0.0" />
|
||||
<Parameter ID="a1" Value="0.0" />
|
||||
<Parameter ID="b0" Value="0.0" />
|
||||
<Parameter ID="b1" Value="0.0" />
|
||||
<Parameter ID="b2" Value="0.0" />
|
||||
<Parameter ID="c0_par_id" Value="0" />
|
||||
<Parameter ID="c1_par_id" Value="0" />
|
||||
</Group>
|
||||
<Group ID="isq_filter2">
|
||||
<Parameter ID="type" Value="ncOFF" />
|
||||
<Parameter ID="a0" Value="0.0" />
|
||||
<Parameter ID="a1" Value="0.0" />
|
||||
<Parameter ID="b0" Value="0.0" />
|
||||
<Parameter ID="b1" Value="0.0" />
|
||||
<Parameter ID="b2" Value="0.0" />
|
||||
<Parameter ID="c0_par_id" Value="0" />
|
||||
<Parameter ID="c1_par_id" Value="0" />
|
||||
</Group>
|
||||
<Group ID="isq_filter3">
|
||||
<Parameter ID="type" Value="ncOFF" />
|
||||
<Parameter ID="a0" Value="0.0" />
|
||||
<Parameter ID="a1" Value="0.0" />
|
||||
<Parameter ID="b0" Value="0.0" />
|
||||
<Parameter ID="b1" Value="0.0" />
|
||||
<Parameter ID="b2" Value="0.0" />
|
||||
<Parameter ID="c0_par_id" Value="0" />
|
||||
<Parameter ID="c1_par_id" Value="0" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group ID="uf">
|
||||
<Parameter ID="type" Value="ncLINEAR + ncCORRECTION" />
|
||||
<Parameter ID="auto_config" Value="ncMOTOR_PAR" />
|
||||
<Parameter ID="u0" Value="0" />
|
||||
<Parameter ID="un" Value="0" />
|
||||
<Parameter ID="fn" Value="50.0" />
|
||||
<Parameter ID="k_f_slip" Value="0" />
|
||||
</Group>
|
||||
<Group ID="ff">
|
||||
<Parameter ID="mode" Value="ncSTANDARD" />
|
||||
<Parameter ID="torque_load" Value="0.0" />
|
||||
<Parameter ID="torque_pos" Value="0.0" />
|
||||
<Parameter ID="torque_neg" Value="0.0" />
|
||||
<Parameter ID="kv_torque" Value="0.0" />
|
||||
<Parameter ID="inertia" Value="0.0" />
|
||||
<Parameter ID="t_filter_a" Value="0.0" />
|
||||
</Group>
|
||||
<Group ID="fb">
|
||||
<Parameter ID="mode" Value="ncSTANDARD" />
|
||||
<Parameter ID="speed_mix_ratio" Value="0.0" />
|
||||
<Parameter ID="speed_kv" Value="2.0" />
|
||||
</Group>
|
||||
<Group ID="model">
|
||||
<Group ID="mass1">
|
||||
<Parameter ID="inertia" Value="0" />
|
||||
<Parameter ID="viscous_friction" Value="0" />
|
||||
</Group>
|
||||
<Group ID="mass2">
|
||||
<Parameter ID="inertia" Value="0" />
|
||||
<Parameter ID="viscous_friction" Value="0" />
|
||||
<Parameter ID="stiffness" Value="0" />
|
||||
<Parameter ID="damping" Value="0" />
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group ID="move">
|
||||
<Group ID="stop">
|
||||
<Group ID="parameter[0]">
|
||||
<Parameter ID="decel_ramp" Value="ncA_LIMIT" />
|
||||
<Parameter ID="controller" Value="ncON" />
|
||||
</Group>
|
||||
<Group ID="parameter[1]">
|
||||
<Parameter ID="decel_ramp" Value="ncA_LIMIT" />
|
||||
<Parameter ID="controller" Value="ncON" />
|
||||
</Group>
|
||||
<Group ID="parameter[2]">
|
||||
<Parameter ID="decel_ramp" Value="ncA_LIMIT" />
|
||||
<Parameter ID="controller" Value="ncON" />
|
||||
</Group>
|
||||
<Group ID="parameter[3]">
|
||||
<Parameter ID="decel_ramp" Value="ncA_LIMIT" />
|
||||
<Parameter ID="controller" Value="ncON" />
|
||||
</Group>
|
||||
<Group ID="quickstop">
|
||||
<Parameter ID="decel_ramp" Value="ncA_LIMIT" />
|
||||
<Parameter ID="t_jolt" Value="0" />
|
||||
</Group>
|
||||
<Group ID="drive_error">
|
||||
<Parameter ID="decel_ramp" Value="ncA_LIMIT" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group ID="homing">
|
||||
<Group ID="parameter">
|
||||
<Parameter ID="s" Value="0" />
|
||||
<Parameter ID="v_switch" Value="5000" />
|
||||
<Parameter ID="v_trigger" Value="500" />
|
||||
<Parameter ID="a" Value="50000" />
|
||||
<Parameter ID="mode" Value="ncDIRECT" />
|
||||
<Parameter ID="edge_sw" Value="ncPOSITIVE" />
|
||||
<Parameter ID="start_dir" Value="ncPOSITIVE" />
|
||||
<Parameter ID="trigg_dir" Value="ncPOSITIVE" />
|
||||
<Parameter ID="ref_pulse" Value="ncOFF" />
|
||||
<Parameter ID="fix_dir" Value="ncOFF" />
|
||||
<Parameter ID="tr_s_block" Value="0" />
|
||||
<Parameter ID="torque_lim" Value="0" />
|
||||
<Parameter ID="ds_block" Value="0" />
|
||||
<Parameter ID="ds_stop" Value="0" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group ID="basis">
|
||||
<Group ID="parameter">
|
||||
<Parameter ID="v_pos" Value="5000" />
|
||||
<Parameter ID="v_neg" Value="5000" />
|
||||
<Parameter ID="a1_pos" Value="50000" />
|
||||
<Parameter ID="a2_pos" Value="50000" />
|
||||
<Parameter ID="a1_neg" Value="50000" />
|
||||
<Parameter ID="a2_neg" Value="50000" />
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group ID="message">
|
||||
<Group ID="text">
|
||||
<Group ID="parameter">
|
||||
<Parameter ID="format" Value="ncBREAK" />
|
||||
<Parameter ID="columns" Value="80" />
|
||||
<Parameter ID="data_modul" Value="acp10etxde" />
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
</InitParameter>
|
||||
7
Logical/AxisObjects/gAxisYi/Ax.dob
Normal file
7
Logical/AxisObjects/gAxisYi/Ax.dob
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio FileVersion="4.9"?>
|
||||
<DataObject SubType="Ax" xmlns="http://br-automation.co.at/AS/DataObject">
|
||||
<Files>
|
||||
<File>gAxisYi.ax</File>
|
||||
</Files>
|
||||
</DataObject>
|
||||
189
Logical/AxisObjects/gAxisYi/gAxisYi.ax
Normal file
189
Logical/AxisObjects/gAxisYi/gAxisYi.ax
Normal file
@@ -0,0 +1,189 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.9.3.144 SP?>
|
||||
<InitParameter Version="5.14.2" NcSwId="Acp10">
|
||||
<Group ID="ACP10AXIS_typ">
|
||||
<Group ID="dig_in">
|
||||
<Group ID="level">
|
||||
<Parameter ID="reference" Value="ncACTIV_HI" />
|
||||
<Parameter ID="pos_hw_end" Value="ncACTIV_HI" />
|
||||
<Parameter ID="neg_hw_end" Value="ncACTIV_HI" />
|
||||
<Parameter ID="trigger1" Value="ncACTIV_HI" />
|
||||
<Parameter ID="trigger2" Value="ncACTIV_HI" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group ID="encoder_if">
|
||||
<Group ID="parameter">
|
||||
<Parameter ID="count_dir" Value="ncSTANDARD" />
|
||||
<Group ID="scaling">
|
||||
<Group ID="load">
|
||||
<Parameter ID="units" Value="2400" Description="Units at the load [1/100mm]" />
|
||||
<Parameter ID="rev_motor" Value="1" />
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group ID="limit">
|
||||
<Group ID="parameter">
|
||||
<Parameter ID="v_pos" Value="5000.0" Description="Speed in positive direction [1/100mm/s]" />
|
||||
<Parameter ID="v_neg" Value="5000.0" Description="Speed in negative direction [1/100mm/s]" />
|
||||
<Parameter ID="a1_pos" Value="50000" Description="Acceleration in positive direction [1/100mm/s2]" />
|
||||
<Parameter ID="a2_pos" Value="50000" Description="Deceleration in positive direction [1/100mm/s2]" />
|
||||
<Parameter ID="a1_neg" Value="50000" />
|
||||
<Parameter ID="a2_neg" Value="50000" />
|
||||
<Parameter ID="t_jolt" Value="0.0" />
|
||||
<Parameter ID="t_in_pos" Value="0" />
|
||||
<Parameter ID="pos_sw_end" Value="2000000000" />
|
||||
<Parameter ID="neg_sw_end" Value="-2000000000" />
|
||||
<Parameter ID="ds_warning" Value="10.0" />
|
||||
<Parameter ID="ds_stop" Value="20.0" />
|
||||
<Parameter ID="a_stop" Value="1.0e30" />
|
||||
<Parameter ID="dv_stop" Value="0" />
|
||||
<Parameter ID="dv_stop_mode" Value="ncOFF" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group ID="controller">
|
||||
<Parameter ID="mode" Value="ncPOSITION + ncFF" />
|
||||
<Group ID="position">
|
||||
<Parameter ID="kv" Value="390.0" />
|
||||
<Parameter ID="tn" Value="0" />
|
||||
<Parameter ID="t_predict" Value="0.0004" />
|
||||
<Parameter ID="t_total" Value="0.0004" />
|
||||
<Parameter ID="p_max" Value="1.0e30" />
|
||||
<Parameter ID="i_max" Value="0" />
|
||||
</Group>
|
||||
<Group ID="speed">
|
||||
<Parameter ID="kv" Value="2.4" Description="Proportional amplification 2.35" />
|
||||
<Parameter ID="tn" Value="0.012" />
|
||||
<Parameter ID="t_filter" Value="0.0004" />
|
||||
<Group ID="isq_filter1">
|
||||
<Parameter ID="type" Value="ncOFF" />
|
||||
<Parameter ID="a0" Value="0.0" />
|
||||
<Parameter ID="a1" Value="0.0" />
|
||||
<Parameter ID="b0" Value="0.0" />
|
||||
<Parameter ID="b1" Value="0.0" />
|
||||
<Parameter ID="b2" Value="0.0" />
|
||||
<Parameter ID="c0_par_id" Value="0" />
|
||||
<Parameter ID="c1_par_id" Value="0" />
|
||||
</Group>
|
||||
<Group ID="isq_filter2">
|
||||
<Parameter ID="type" Value="ncOFF" />
|
||||
<Parameter ID="a0" Value="0.0" />
|
||||
<Parameter ID="a1" Value="0.0" />
|
||||
<Parameter ID="b0" Value="0.0" />
|
||||
<Parameter ID="b1" Value="0.0" />
|
||||
<Parameter ID="b2" Value="0.0" />
|
||||
<Parameter ID="c0_par_id" Value="0" />
|
||||
<Parameter ID="c1_par_id" Value="0" />
|
||||
</Group>
|
||||
<Group ID="isq_filter3">
|
||||
<Parameter ID="type" Value="ncOFF" />
|
||||
<Parameter ID="a0" Value="0.0" />
|
||||
<Parameter ID="a1" Value="0.0" />
|
||||
<Parameter ID="b0" Value="0.0" />
|
||||
<Parameter ID="b1" Value="0.0" />
|
||||
<Parameter ID="b2" Value="0.0" />
|
||||
<Parameter ID="c0_par_id" Value="0" />
|
||||
<Parameter ID="c1_par_id" Value="0" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group ID="uf">
|
||||
<Parameter ID="type" Value="ncLINEAR + ncCORRECTION" />
|
||||
<Parameter ID="auto_config" Value="ncMOTOR_PAR" />
|
||||
<Parameter ID="u0" Value="0" />
|
||||
<Parameter ID="un" Value="0" />
|
||||
<Parameter ID="fn" Value="50.0" />
|
||||
<Parameter ID="k_f_slip" Value="0" />
|
||||
</Group>
|
||||
<Group ID="ff">
|
||||
<Parameter ID="mode" Value="ncSTANDARD" />
|
||||
<Parameter ID="torque_load" Value="-0.2" />
|
||||
<Parameter ID="torque_pos" Value="0.2" />
|
||||
<Parameter ID="torque_neg" Value="0.5" />
|
||||
<Parameter ID="kv_torque" Value="0.0" />
|
||||
<Parameter ID="inertia" Value="0.0" />
|
||||
<Parameter ID="t_filter_a" Value="0.0" />
|
||||
</Group>
|
||||
<Group ID="fb">
|
||||
<Parameter ID="mode" Value="ncSTANDARD" />
|
||||
<Parameter ID="speed_mix_ratio" Value="0.0" />
|
||||
<Parameter ID="speed_kv" Value="2.0" />
|
||||
</Group>
|
||||
<Group ID="model">
|
||||
<Group ID="mass1">
|
||||
<Parameter ID="inertia" Value="0" />
|
||||
<Parameter ID="viscous_friction" Value="0" />
|
||||
</Group>
|
||||
<Group ID="mass2">
|
||||
<Parameter ID="inertia" Value="0" />
|
||||
<Parameter ID="viscous_friction" Value="0" />
|
||||
<Parameter ID="stiffness" Value="0" />
|
||||
<Parameter ID="damping" Value="0" />
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group ID="move">
|
||||
<Group ID="stop">
|
||||
<Group ID="parameter[0]">
|
||||
<Parameter ID="decel_ramp" Value="ncA_LIMIT" />
|
||||
<Parameter ID="controller" Value="ncON" />
|
||||
</Group>
|
||||
<Group ID="parameter[1]">
|
||||
<Parameter ID="decel_ramp" Value="ncA_LIMIT" />
|
||||
<Parameter ID="controller" Value="ncON" />
|
||||
</Group>
|
||||
<Group ID="parameter[2]">
|
||||
<Parameter ID="decel_ramp" Value="ncA_LIMIT" />
|
||||
<Parameter ID="controller" Value="ncON" />
|
||||
</Group>
|
||||
<Group ID="parameter[3]">
|
||||
<Parameter ID="decel_ramp" Value="ncA_LIMIT" />
|
||||
<Parameter ID="controller" Value="ncON" />
|
||||
</Group>
|
||||
<Group ID="quickstop">
|
||||
<Parameter ID="decel_ramp" Value="ncA_LIMIT" />
|
||||
<Parameter ID="t_jolt" Value="0" />
|
||||
</Group>
|
||||
<Group ID="drive_error">
|
||||
<Parameter ID="decel_ramp" Value="ncA_LIMIT" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group ID="homing">
|
||||
<Group ID="parameter">
|
||||
<Parameter ID="s" Value="0" />
|
||||
<Parameter ID="v_switch" Value="5000" />
|
||||
<Parameter ID="v_trigger" Value="500" />
|
||||
<Parameter ID="a" Value="50000" />
|
||||
<Parameter ID="mode" Value="ncDIRECT" />
|
||||
<Parameter ID="edge_sw" Value="ncPOSITIVE" />
|
||||
<Parameter ID="start_dir" Value="ncPOSITIVE" />
|
||||
<Parameter ID="trigg_dir" Value="ncPOSITIVE" />
|
||||
<Parameter ID="ref_pulse" Value="ncOFF" />
|
||||
<Parameter ID="fix_dir" Value="ncOFF" />
|
||||
<Parameter ID="tr_s_block" Value="0" />
|
||||
<Parameter ID="torque_lim" Value="0" />
|
||||
<Parameter ID="ds_block" Value="0" />
|
||||
<Parameter ID="ds_stop" Value="0" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group ID="basis">
|
||||
<Group ID="parameter">
|
||||
<Parameter ID="v_pos" Value="5000" />
|
||||
<Parameter ID="v_neg" Value="5000" />
|
||||
<Parameter ID="a1_pos" Value="50000" />
|
||||
<Parameter ID="a2_pos" Value="50000" />
|
||||
<Parameter ID="a1_neg" Value="50000" />
|
||||
<Parameter ID="a2_neg" Value="50000" />
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
<Group ID="message">
|
||||
<Group ID="text">
|
||||
<Group ID="parameter">
|
||||
<Parameter ID="format" Value="ncBREAK" />
|
||||
<Parameter ID="columns" Value="80" />
|
||||
<Parameter ID="data_modul" Value="acp10etxde" />
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
</Group>
|
||||
</InitParameter>
|
||||
8
Logical/Common/GlobalCommon.typ
Normal file
8
Logical/Common/GlobalCommon.typ
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
TYPE
|
||||
typAlarm : STRUCT (*Alarm Datenstruktur*)
|
||||
Alarm : ARRAY[0..127]OF BOOL;
|
||||
Ack : ARRAY[0..127]OF BOOL;
|
||||
Bypass : ARRAY[0..127]OF BOOL;
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
24
Logical/Common/GlobalComon.var
Normal file
24
Logical/Common/GlobalComon.var
Normal file
@@ -0,0 +1,24 @@
|
||||
VAR
|
||||
bBlink0_1 : BOOL;
|
||||
bBlink0_5 : BOOL;
|
||||
bBlink1_0 : BOOL;
|
||||
bBlink2_0 : BOOL;
|
||||
bBlink5_0 : BOOL;
|
||||
gdtCurrentTime : DATE_AND_TIME; (*Current Date and Time*)
|
||||
gDTstrucCurrentTime : DTStructure := (0); (*Current Date and Time as DTStructure*)
|
||||
gsCurrentTime : STRING[25] := ''; (*Current Date and Time as String*)
|
||||
gTCurrentTime : TIME := T#0ms; (*Current Time*)
|
||||
END_VAR
|
||||
VAR CONSTANT
|
||||
gAInNull : INT := 0; (*O FOR Analog Input*)
|
||||
gTrue : BOOL := TRUE; (*Konstant TRUE*)
|
||||
gFalse : BOOL := FALSE; (*Konstant False*)
|
||||
gInNull : BOOL := FALSE; (*FALSE FOR Input *)
|
||||
END_VAR
|
||||
VAR
|
||||
gOuNull : BOOL; (*DUMMY for Output*)
|
||||
END_VAR
|
||||
VAR CONSTANT
|
||||
iAIVoltageOverflow : INT := 16#7FFF; (* Analog Input Voltage Mode,Overflow *)
|
||||
iAIVoltageUnderflow : INT := -32767; (* Analog Input Voltage Underflow *)
|
||||
END_VAR
|
||||
10
Logical/Common/Package.pkg
Normal file
10
Logical/Common/Package.pkg
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.2.3.159?>
|
||||
<Package xmlns="http://br-automation.co.at/AS/Package">
|
||||
<Objects>
|
||||
<Object Type="File">GlobalCommon.typ</Object>
|
||||
<Object Type="File">GlobalComon.var</Object>
|
||||
<Object Type="Program" Language="IEC" Description="Current Date_And_Time / DT Struct">get_dt</Object>
|
||||
<Object Type="Program" Language="IEC" Description="Blinker 0,1 -0,5s (f. 100ms Task) !!!">blinker</Object>
|
||||
</Objects>
|
||||
</Package>
|
||||
9
Logical/Common/blinker/IEC.prg
Normal file
9
Logical/Common/blinker/IEC.prg
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.2.3.159?>
|
||||
<Program xmlns="http://br-automation.co.at/AS/Program">
|
||||
<Files>
|
||||
<File Description="Local variables" Private="true">blinker.var</File>
|
||||
<File Description="Initialization code">blinkerInit.ab</File>
|
||||
<File Description="Cyclic code">blinkerCyclic.ab</File>
|
||||
</Files>
|
||||
</Program>
|
||||
13
Logical/Common/blinker/blinker.var
Normal file
13
Logical/Common/blinker/blinker.var
Normal file
@@ -0,0 +1,13 @@
|
||||
(********************************************************************
|
||||
* COPYRIGHT -- kA
|
||||
********************************************************************
|
||||
* Program: blinker
|
||||
* File: blinker.var
|
||||
* Author: michi
|
||||
* Created: November 23, 2009
|
||||
********************************************************************
|
||||
* Local variables of program blinker
|
||||
********************************************************************)
|
||||
VAR
|
||||
iCount : USINT;
|
||||
END_VAR
|
||||
30
Logical/Common/blinker/blinkerCyclic.ab
Normal file
30
Logical/Common/blinker/blinkerCyclic.ab
Normal file
@@ -0,0 +1,30 @@
|
||||
(********************************************************************
|
||||
* COPYRIGHT -- kA
|
||||
********************************************************************
|
||||
* Program: blinker
|
||||
* File: blinkerCyclic.ab
|
||||
* Author: michi
|
||||
* Created: November 23, 2009
|
||||
********************************************************************
|
||||
* Implementation of program blinker
|
||||
********************************************************************)
|
||||
|
||||
PROGRAM _CYCLIC
|
||||
(* cyclic program *)
|
||||
;Has to be taskclass 100ms
|
||||
bBlink0_1 = not bBlink0_1
|
||||
inc (iCount)
|
||||
if ((iCount mod 5) = 0) then
|
||||
bBlink0_5 = not bBlink0_5
|
||||
endif
|
||||
if ((iCount mod 10) = 0) then
|
||||
bBlink1_0 = not bBlink1_0
|
||||
endif
|
||||
if ((iCount mod 20) = 0) then
|
||||
bBlink2_0 = not bBlink2_0
|
||||
endif
|
||||
if ((iCount mod 50) = 0) then
|
||||
bBlink5_0 = not bBlink5_0
|
||||
iCount = 0
|
||||
endif
|
||||
END_PROGRAM
|
||||
16
Logical/Common/blinker/blinkerInit.ab
Normal file
16
Logical/Common/blinker/blinkerInit.ab
Normal file
@@ -0,0 +1,16 @@
|
||||
(********************************************************************
|
||||
* COPYRIGHT -- kA
|
||||
********************************************************************
|
||||
* Program: blinker
|
||||
* File: blinkerInit.ab
|
||||
* Author: michi
|
||||
* Created: November 23, 2009
|
||||
********************************************************************
|
||||
* Implementation of program blinker
|
||||
********************************************************************)
|
||||
|
||||
PROGRAM _INIT
|
||||
iCount = 0
|
||||
|
||||
END_PROGRAM
|
||||
|
||||
9
Logical/Common/get_dt/IEC.prg
Normal file
9
Logical/Common/get_dt/IEC.prg
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.2.3.159?>
|
||||
<Program xmlns="http://br-automation.co.at/AS/Program">
|
||||
<Files>
|
||||
<File>get_dtCyclic.ab</File>
|
||||
<File Private="true">get_dt.var</File>
|
||||
<File>get_dtInit.ab</File>
|
||||
</Files>
|
||||
</Program>
|
||||
6
Logical/Common/get_dt/get_dt.var
Normal file
6
Logical/Common/get_dt/get_dt.var
Normal file
@@ -0,0 +1,6 @@
|
||||
VAR
|
||||
sTemp : STRING[10] := '';
|
||||
lDTStructureGetTime : DTStructureGetTime := (0);
|
||||
lDTGetTime : DTGetTime := (0);
|
||||
lTimeStructure : TIMEStructure := (0);
|
||||
END_VAR
|
||||
57
Logical/Common/get_dt/get_dtCyclic.ab
Normal file
57
Logical/Common/get_dt/get_dtCyclic.ab
Normal file
@@ -0,0 +1,57 @@
|
||||
PROGRAM _CYCLIC
|
||||
(* cyclic program *)
|
||||
|
||||
lDTGetTime.enable = true
|
||||
lDTGetTime FUB DTGetTime()
|
||||
gdtCurrentTime = lDTGetTime.DT1
|
||||
|
||||
lDTStructureGetTime.enable = true
|
||||
lDTStructureGetTime FUB DTStructureGetTime ()
|
||||
lDTStructureGetTime.pDTStructure = adr (gDTstrucCurrentTime)
|
||||
|
||||
ascDTStructure (ADR (gDTstrucCurrentTime), ADR (gsCurrentTime), 25)
|
||||
brsstrcpy (ADR (gsCurrentTime), "")
|
||||
brsitoa (gDTstrucCurrentTime.year, ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), ADR (sTemp))
|
||||
IF (gDTstrucCurrentTime.month < 10) THEN
|
||||
brsstrcat (ADR (gsCurrentTime), "0")
|
||||
ENDIF
|
||||
brsitoa (gDTstrucCurrentTime.month, ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), ADR (sTemp))
|
||||
IF (gDTstrucCurrentTime.day < 10) THEN
|
||||
brsstrcat (ADR (gsCurrentTime), "0")
|
||||
ENDIF
|
||||
brsitoa (gDTstrucCurrentTime.day, ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), "_")
|
||||
IF (gDTstrucCurrentTime.hour < 10) THEN
|
||||
brsstrcat (ADR (gsCurrentTime), "0")
|
||||
ENDIF
|
||||
brsitoa (gDTstrucCurrentTime.hour, ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), "-")
|
||||
IF (gDTstrucCurrentTime.minute < 10) THEN
|
||||
brsstrcat (ADR (gsCurrentTime), "0")
|
||||
ENDIF
|
||||
brsitoa (gDTstrucCurrentTime.minute, ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), "-")
|
||||
IF (gDTstrucCurrentTime.second < 10) THEN
|
||||
brsstrcat (ADR (gsCurrentTime), "0")
|
||||
ENDIF
|
||||
brsitoa (gDTstrucCurrentTime.second, ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), "_")
|
||||
brsitoa (gDTstrucCurrentTime.millisec, ADR (sTemp))
|
||||
brsstrcat (ADR (gsCurrentTime), ADR (sTemp))
|
||||
|
||||
lTimeStructure.day = gDTstrucCurrentTime.day
|
||||
lTimeStructure.hour = gDTstrucCurrentTime.hour
|
||||
lTimeStructure.minute = gDTstrucCurrentTime.minute
|
||||
lTimeStructure.second = gDTstrucCurrentTime.second
|
||||
lTimeStructure.millisec = gDTstrucCurrentTime.millisec
|
||||
lTimeStructure.microsec = gDTstrucCurrentTime.microsec
|
||||
gTCurrentTime = TIMEStructure_TO_TIME (adr (lTimeStructure))
|
||||
|
||||
END_PROGRAM
|
||||
|
||||
4
Logical/Common/get_dt/get_dtInit.ab
Normal file
4
Logical/Common/get_dt/get_dtInit.ab
Normal file
@@ -0,0 +1,4 @@
|
||||
PROGRAM _INIT
|
||||
(* init program *)
|
||||
END_PROGRAM
|
||||
|
||||
7
Logical/Communication/Package.pkg
Normal file
7
Logical/Communication/Package.pkg
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio FileVersion="4.9"?>
|
||||
<Package xmlns="http://br-automation.co.at/AS/Package">
|
||||
<Objects>
|
||||
<Object Type="Package">RFID</Object>
|
||||
</Objects>
|
||||
</Package>
|
||||
8
Logical/Communication/RFID/GlobaRFID.var
Normal file
8
Logical/Communication/RFID/GlobaRFID.var
Normal file
@@ -0,0 +1,8 @@
|
||||
(*//Communicationstructures*)
|
||||
(*//Transponders*)
|
||||
VAR
|
||||
gudRFIDReader1ID : UDINT; (*Gelesene ID*)
|
||||
gudRFIDReader2ID : UDINT; (*Gelesene ID*)
|
||||
gudRFIDReader3ID : UDINT; (*Gelesene ID*)
|
||||
gudRFIDReader4ID : UDINT; (*Gelesene ID*)
|
||||
END_VAR
|
||||
9
Logical/Communication/RFID/Package.pkg
Normal file
9
Logical/Communication/RFID/Package.pkg
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.8.122 SP?>
|
||||
<Package xmlns="http://br-automation.co.at/AS/Package">
|
||||
<Objects>
|
||||
<Object Type="File" Description="Logging Vars">GlobaRFID.var</Object>
|
||||
<Object Type="File" Description="Logging Vars" Private="true">RFID1var.var</Object>
|
||||
<Object Type="Program" Language="IEC" Description="13 Mhz Transponder B&R">RFID_USB</Object>
|
||||
</Objects>
|
||||
</Package>
|
||||
8
Logical/Communication/RFID/RFID1var.var
Normal file
8
Logical/Communication/RFID/RFID1var.var
Normal file
@@ -0,0 +1,8 @@
|
||||
(*//Communicationstructures*)
|
||||
(*//Transponders*)
|
||||
VAR RETAIN
|
||||
pudRFIDSerialReader1 : {REDUND_UNREPLICABLE} UDINT := 3735632; (*Serien Nr RFID Reader 1*)
|
||||
pudRFIDSerialReader2 : {REDUND_UNREPLICABLE} UDINT := 0; (*Serien Nr RFID Reader 2*)
|
||||
pudRFIDSerialReader3 : {REDUND_UNREPLICABLE} UDINT := 0; (*Serien Nr RFID Reader 3*)
|
||||
pudRFIDSerialReader4 : {REDUND_UNREPLICABLE} UDINT := 0; (*Serien Nr RFID Reader 4*)
|
||||
END_VAR
|
||||
52
Logical/Communication/RFID/RFID_USB/ASCtoUDINT.st
Normal file
52
Logical/Communication/RFID/RFID_USB/ASCtoUDINT.st
Normal file
@@ -0,0 +1,52 @@
|
||||
FUNCTION ASCtoUDINT
|
||||
ASCtoUDINT := 0;
|
||||
udNextAdr := udInNextAdr;
|
||||
IF bInReverse THEN
|
||||
sStart := 7;
|
||||
sEnd := 0;
|
||||
sStep := -1;
|
||||
ELSE
|
||||
sStart := 0;
|
||||
sEnd := 7;
|
||||
sStep := 1;
|
||||
END_IF
|
||||
FOR usi := sStart TO sEnd BY sStep DO
|
||||
brsmemcpy (ADR (usChar), udNextAdr + usi, 1);
|
||||
CASE usChar OF
|
||||
48:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 0;
|
||||
49:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 1;
|
||||
50:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 2;
|
||||
51:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 3;
|
||||
52:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 4;
|
||||
53:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 5;
|
||||
54:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 6;
|
||||
55:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 7;
|
||||
56:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 8;
|
||||
57:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 9;
|
||||
65:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 10;
|
||||
66:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 11;
|
||||
67:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 12;
|
||||
68:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 13;
|
||||
69:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 14;
|
||||
70:
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 15;
|
||||
ELSE
|
||||
ASCtoUDINT := SHL (ASCtoUDINT, 4) + 16#f;
|
||||
END_CASE
|
||||
END_FOR
|
||||
END_FUNCTION
|
||||
12
Logical/Communication/RFID/RFID_USB/IEC.prg
Normal file
12
Logical/Communication/RFID/RFID_USB/IEC.prg
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=4.4.8.122 SP?>
|
||||
<Program xmlns="http://br-automation.co.at/AS/Program">
|
||||
<Files>
|
||||
<File Description="Implementation code">RFID_USB.st</File>
|
||||
<File Description="Local variables" Private="true">RFID_USB.var</File>
|
||||
<File Description="Local data types" Private="true">RFID_USB.typ</File>
|
||||
<File Private="true">RFID_USB.fun</File>
|
||||
<File Description="Convert ASCII Value to UDINT">ASCtoUDINT.st</File>
|
||||
<File Description="Convert UDINT Value to ASCII">UDINTtoASC.st</File>
|
||||
</Files>
|
||||
</Program>
|
||||
28
Logical/Communication/RFID/RFID_USB/RFID_USB.fun
Normal file
28
Logical/Communication/RFID/RFID_USB/RFID_USB.fun
Normal file
@@ -0,0 +1,28 @@
|
||||
|
||||
FUNCTION ASCtoUDINT : UDINT (*Convert ASCII Value to UDINT*)
|
||||
VAR_INPUT
|
||||
udInNextAdr : UDINT; (*Next Pos in ByteStream (No CHECK)*)
|
||||
bInReverse : BOOL;
|
||||
END_VAR
|
||||
VAR
|
||||
udNextAdr : UDINT;
|
||||
usi : SINT;
|
||||
sStart : SINT;
|
||||
sEnd : SINT;
|
||||
sStep : SINT;
|
||||
usChar : USINT;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
FUNCTION UDINTtoASC : UDINT (*Convert UDINT Value to ASCII*)
|
||||
VAR_INPUT
|
||||
udInNextAdr : UDINT; (*Next Pos in ByteStream (No CHECK)*)
|
||||
udInValue : UDINT;
|
||||
END_VAR
|
||||
VAR
|
||||
udNextAdr : UDINT;
|
||||
udValue : UDINT;
|
||||
usi : USINT;
|
||||
usChar : USINT;
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
609
Logical/Communication/RFID/RFID_USB/RFID_USB.st
Normal file
609
Logical/Communication/RFID/RFID_USB/RFID_USB.st
Normal file
@@ -0,0 +1,609 @@
|
||||
(********************************************************************
|
||||
* COPYRIGHT --
|
||||
********************************************************************
|
||||
* Program: RFID_USB
|
||||
* File: RFID_USB.st
|
||||
* Author: michi
|
||||
* Created: December 04, 2012
|
||||
********************************************************************
|
||||
* Implementation of program RFID_USB
|
||||
* With 4 readers
|
||||
********************************************************************)
|
||||
|
||||
PROGRAM _INIT
|
||||
udAttachDetachCount := 0;
|
||||
usNodeIx := 0;
|
||||
enStep := enRFIDStep_INIT;
|
||||
FUB_UsbDescriptorGet.descriptorType := asusb_USB_DESCR_STRING;
|
||||
FUB_UsbDescriptorGet.descriptorIndex := 3; //DeviceDescr Serial Nr
|
||||
|
||||
//Seriennumer Reader
|
||||
pudRFIDSerialReader1 := 3735632;
|
||||
END_PROGRAM
|
||||
|
||||
|
||||
PROGRAM _CYCLIC
|
||||
|
||||
CASE enStep OF
|
||||
//Init
|
||||
//---------------------------
|
||||
enRFIDStep_INIT:
|
||||
FUB_FrameRead1.enable := 0;
|
||||
FUB_FrameRead2.enable := 0;
|
||||
FUB_FrameRead3.enable := 0;
|
||||
FUB_FrameRead4.enable := 0;
|
||||
FUB_FrameReleaseBuffer1.enable := 0;
|
||||
FUB_FrameReleaseBuffer2.enable := 0;
|
||||
FUB_FrameReleaseBuffer3.enable := 0;
|
||||
FUB_FrameReleaseBuffer4.enable := 0;
|
||||
FUB_FrameWrite1.enable := 0;
|
||||
FUB_FrameWrite2.enable := 0;
|
||||
FUB_FrameWrite3.enable := 0;
|
||||
FUB_FrameWrite4.enable := 0;
|
||||
FUB_FrameXOpen1.enable := 0;
|
||||
FUB_FrameXOpen2.enable := 0;
|
||||
FUB_FrameXOpen3.enable := 0;
|
||||
FUB_FrameXOpen4.enable := 0;
|
||||
FUB_UsbNodeGet.enable := 0;
|
||||
FUB_UsbNodeListGet.enable := 0;
|
||||
enStep := enRFIDStep_USB_GETNODELIST;
|
||||
|
||||
//Get USB Nodelsit
|
||||
//---------------------------
|
||||
enRFIDStep_USB_GETNODELIST:
|
||||
FUB_UsbNodeListGet.enable := 1;
|
||||
FUB_UsbNodeListGet.pBuffer := ADR (udNodeList);
|
||||
FUB_UsbNodeListGet.bufferSize := SIZEOF (udNodeList);
|
||||
FUB_UsbNodeListGet.filterInterfaceClass := 0;
|
||||
FUB_UsbNodeListGet.filterInterfaceSubClass := 0;
|
||||
|
||||
IF (FUB_UsbNodeListGet.status = ERR_OK) AND (FUB_UsbNodeListGet.listNodes > 0) THEN
|
||||
// USB Device Attach or detach
|
||||
FUB_UsbNodeListGet.enable := 0;
|
||||
usNodeIx := 0;
|
||||
udAttachDetachCount := FUB_UsbNodeListGet.attachDetachCount;
|
||||
IF FUB_UsbNodeListGet.listNodes < NEEDED_DEVICES THEN
|
||||
enStep := enRFIDStep_USB_SEARCHDEVICE;
|
||||
//FixMe Error
|
||||
END_IF
|
||||
enStep := enRFIDStep_USB_SEARCHDEVICE;
|
||||
usFoundReaders := 0;
|
||||
END_IF
|
||||
//else if (UsbNodeListGetFub.status == asusbERR_BUFSIZE || UsbNodeListGetFub.status == asusbERR_NULLPOINTER)
|
||||
|
||||
//Serch Reader in USB Devices
|
||||
//---------------------------
|
||||
enRFIDStep_USB_SEARCHDEVICE:
|
||||
FUB_UsbNodeGet.enable := 1;
|
||||
FUB_UsbNodeGet.nodeId := udNodeList[usNodeIx];
|
||||
FUB_UsbNodeGet.pBuffer := ADR (usbDevice[usNodeIx]);
|
||||
FUB_UsbNodeGet.bufferSize := SIZEOF (usbDevice[usNodeIx]);
|
||||
|
||||
IF (FUB_UsbNodeGet.status = ERR_OK ) THEN
|
||||
FUB_UsbNodeGet.enable := 0;
|
||||
// USB FTDI Transponder
|
||||
IF (usbDevice[usNodeIx].vendorId = TRANSPONDER_FTDI_VENDOR_ID) AND
|
||||
(usbDevice[usNodeIx].productId = TRANSPONDER_FTDI_PRODUCT_ID) AND
|
||||
(usbDevice[usNodeIx].bcdDevice = TRANSPONDER_FTDI_BCD) THEN
|
||||
// USB FTDI Transponder found
|
||||
usFoundReaders := usFoundReaders + 1;
|
||||
ELSE
|
||||
udNodeList[usNodeIx] := 0; //Ignore
|
||||
END_IF
|
||||
|
||||
usNodeIx := usNodeIx + 1;
|
||||
IF (usNodeIx >= FUB_UsbNodeListGet.allNodes) THEN
|
||||
//Find individual Readers
|
||||
usNodeIx := 0;
|
||||
enStep := enRFIDStep_USB_READDEVDESCR;
|
||||
END_IF
|
||||
ELSIF (FUB_UsbNodeGet.status = asusbERR_USB_NOTFOUND) THEN
|
||||
// USB Device NOT found
|
||||
enStep := enRFIDStep_USB_GETNODELIST;
|
||||
END_IF
|
||||
//ELSE IF (FUB_UsbNodeGet.status == asusbERR_BUFSIZE || FUB_UsbNodeGet.status == asusbERR_NULLPOINTER)
|
||||
|
||||
//Get DeviceDescriptor
|
||||
enRFIDStep_USB_READDEVDESCR:
|
||||
FUB_UsbDescriptorGet.enable := (udNodeList[usNodeIx] > 0);
|
||||
FUB_UsbDescriptorGet.nodeId := udNodeList[usNodeIx];
|
||||
FUB_UsbDescriptorGet.requestType := asusb_USB_RT_DEVICE;
|
||||
FUB_UsbDescriptorGet.descriptorType := asusb_USB_DESCR_STRING;
|
||||
FUB_UsbDescriptorGet.descriptorIndex := 3; //DeviceDescr Serial Nr
|
||||
FUB_UsbDescriptorGet.languageId := 16#0409;
|
||||
FUB_UsbDescriptorGet.pBuffer := ADR (strDeviceDescr[usNodeIx]);
|
||||
FUB_UsbDescriptorGet.bufferSize := SIZEOF (strDeviceDescr[usNodeIx]);
|
||||
|
||||
IF (udNodeList[usNodeIx] = 0) THEN
|
||||
usNodeIx := usNodeIx + 1;
|
||||
ELSIF (FUB_UsbDescriptorGet.status = ERR_OK ) THEN
|
||||
FUB_UsbDescriptorGet.enable := 0;
|
||||
brsmemcpy (ADR (udSerialNr[usNodeIx]), ADR (strDeviceDescr[usNodeIx]) + 14, 4);
|
||||
usNodeIx := usNodeIx + 1;
|
||||
IF (udSerialNr[usNodeIx] = pudRFIDSerialReader1) AND (pudRFIDSerialReader1 > 0) THEN
|
||||
usNodeIxReader1 := usNodeIx;
|
||||
ELSIF (udSerialNr[usNodeIx] = pudRFIDSerialReader2) AND (pudRFIDSerialReader2 > 0) THEN
|
||||
usNodeIxReader2 := usNodeIx;
|
||||
ELSIF (udSerialNr[usNodeIx] = pudRFIDSerialReader3) AND (pudRFIDSerialReader3 > 0) THEN
|
||||
usNodeIxReader3 := usNodeIx;
|
||||
ELSIF (udSerialNr[usNodeIx] = pudRFIDSerialReader4) AND (pudRFIDSerialReader4 > 0) THEN
|
||||
usNodeIxReader4 := usNodeIx;
|
||||
END_IF
|
||||
IF (usNodeIx >= FUB_UsbNodeListGet.allNodes) THEN
|
||||
// Found All Devices
|
||||
usNodeIx := 55;
|
||||
enStep := enRFIDStep_IDLE;
|
||||
END_IF
|
||||
ELSIF (FUB_UsbDescriptorGet.status = asusbERR_USB_NOTFOUND) THEN
|
||||
// USB Device NOT found
|
||||
enStep := enRFIDStep_USB_GETNODELIST;
|
||||
END_IF
|
||||
END_CASE
|
||||
|
||||
|
||||
CASE enStepReader1 OF
|
||||
//Init
|
||||
//---------------------------
|
||||
enRFIDReaderStep_INIT:
|
||||
IF (usNodeIxReader1 < 55) THEN
|
||||
enStepReader1 := enRFIDReaderStep_USB_DVDEVOPEN;
|
||||
END_IF;
|
||||
|
||||
//Open Reader Devicer
|
||||
//---------------------------
|
||||
enRFIDReaderStep_USB_DVDEVOPEN:
|
||||
// initialize open structure */
|
||||
FUB_FrameXOpen1.device :=ADR (usbDevice[usNodeIxReader1].ifName);
|
||||
FUB_FrameXOpen1.mode := 0;
|
||||
FUB_FrameXOpen1.config := 0;
|
||||
FUB_FrameXOpen1.enable := (udNodeList[usNodeIxReader1] > 0);
|
||||
|
||||
IF (FUB_FrameXOpen1.status = frmERR_OK) THEN
|
||||
FUB_FrameWrite1.ident := FUB_FrameXOpen1.ident;
|
||||
FUB_FrameRead1.ident := FUB_FrameXOpen1.ident;
|
||||
FUB_FrameReleaseBuffer1.ident := FUB_FrameXOpen1.ident;
|
||||
FUB_FrameXOpen1.enable := 0;
|
||||
enStepReader1 := enRFIDReaderStep_INIT_READER;
|
||||
END_IF
|
||||
|
||||
//Get USB Nodelist
|
||||
//---------------------------
|
||||
enRFIDReaderStep_INIT_READER:
|
||||
// Register Write:
|
||||
// 5V operation, RF output active, full power; ISO 15693, low bit rate, 6.62 kbps, one subcarrier, 1 out OF 4
|
||||
//
|
||||
// 10 00 21 01 00
|
||||
// | | | | |
|
||||
// | | | | Value Register 0x01
|
||||
// | | | ISO Control Register (0x01)
|
||||
// | | Value Register 0x00
|
||||
// | Chip Status Control Register (0x00)
|
||||
// Register Write Cmd
|
||||
|
||||
// Set Protocol, 1 out OF 4, full power, low bit rate */
|
||||
brsstrcpy (ADR (strWriteData[1]), ADR ('1000210100'));
|
||||
brsstrcpy (ADR (strWriteDatalen[1]), ADR ('0C'));
|
||||
uiReadAnswer[1] := 1;
|
||||
enStepReader1 := enRFIDReaderStep_WRITE;
|
||||
|
||||
|
||||
//IDLE
|
||||
//---------------------------
|
||||
enRFIDReaderStep_IDLE:
|
||||
|
||||
CASE enCmd1 OF
|
||||
enRFIDCMD_NONE:
|
||||
|
||||
enRFIDCMD_READ_INVENTORY:
|
||||
// Inventory
|
||||
// 14 04 01 00
|
||||
// | | | |
|
||||
// | | | Mask Length
|
||||
// | | Anticollision Cmd
|
||||
// | Flags (Inventory flag = 1, HDR = 0)
|
||||
// Inventory request
|
||||
// inventory 16 slot
|
||||
brsstrcpy (ADR (strWriteData[1]), ADR ('14040100'));
|
||||
brsstrcpy (ADR (strWriteDatalen[1]), ADR ('0B'));
|
||||
uiReadAnswer[1] := 16; // 16 slot answer
|
||||
enStepReader1 := enRFIDReaderStep_WRITE;
|
||||
|
||||
enRFIDCMD_READ_SYSINFO:
|
||||
// Read System Info
|
||||
// 18 00 2B
|
||||
// | | |
|
||||
// | | Get System Info Cmd
|
||||
// | Flags (Option = 0, HDR = 0)
|
||||
// Request Cmd
|
||||
brsstrcpy (ADR (strWriteData[1]), ADR ('18002B'));
|
||||
brsstrcpy (ADR (strWriteDatalen[1]), ADR ('0A'));
|
||||
uiReadAnswer[1] := 1;
|
||||
enStepReader1 := enRFIDReaderStep_WRITE;
|
||||
|
||||
enRFIDCMD_READ_SBLOCK:
|
||||
// Read Single Block
|
||||
// 18 02 20
|
||||
// | | |
|
||||
// | | Read Single Block Cmd
|
||||
// | Flags (Option = 1, HDR = 0)
|
||||
// Request Cmd
|
||||
//
|
||||
// Option = 1: Return block security status
|
||||
brsstrcpy (ADR (strWriteData[1]), ADR ('184020')); // read block #1
|
||||
uiLength := brsitoa (usBlockNr, ADR (strTemp));
|
||||
IF (uiLength = 1) THEN
|
||||
brsstrcat (ADR (strWriteData[1]), ADR ('0'));
|
||||
END_IF
|
||||
brsstrcat (ADR (strWriteData[1]), ADR (strTemp));
|
||||
brsstrcpy (ADR (strWriteDatalen[1]), ADR ('0B'));
|
||||
uiReadAnswer[1] := 1;
|
||||
enStepReader1 := enRFIDReaderStep_WRITE;
|
||||
|
||||
|
||||
enRFIDCMD_WRITE_SBLOCK:
|
||||
// Write Single Block
|
||||
// 18 00 21
|
||||
// | | |
|
||||
// | | Write Single Block Cmd
|
||||
// | Flags (Option = 0, HDR = 0)
|
||||
// Request Cmd
|
||||
brsstrcpy (ADR (strWriteData[1]), ADR ('180021')); // write block #1 (Data = 0x12345678)
|
||||
uiLength := brsitoa (usBlockNr, ADR (strTemp));
|
||||
IF (uiLength = 1) THEN
|
||||
brsstrcat (ADR (strWriteData[1]), ADR ('0'));
|
||||
END_IF
|
||||
UDINTtoASC (ADR (strWriteData[1]) + 8, udWriteData);
|
||||
brsstrcpy (ADR (strWriteDatalen[1]), ADR ('0F'));
|
||||
uiReadAnswer[1] := 1;
|
||||
enStepReader1 := enRFIDReaderStep_WRITE;
|
||||
|
||||
enRFIDCMD_WRITE_AFI:
|
||||
// Write AFI
|
||||
// 18 00 30
|
||||
// | | |
|
||||
// | | Get System Info Cmd
|
||||
// | Flags (Option = 0, HDR = 0)
|
||||
// Request Cmd
|
||||
brsstrcpy (ADR (strWriteData[1]), ADR ('18002730')); // write AFI (0x30 = Identification)
|
||||
brsstrcpy (ADR (strWriteDatalen[1]), ADR ('0B'));
|
||||
uiReadAnswer[1] := 1;
|
||||
enStepReader1 := enRFIDReaderStep_WRITE;
|
||||
|
||||
enRFIDCMD_WRITE_DFSID:
|
||||
// Write DSFID
|
||||
// 18 00 29
|
||||
// | | |
|
||||
// | | Write DSFID Cmd
|
||||
// | Flags (Option = 0, HDR = 0)
|
||||
// Request Cmd
|
||||
brsstrcpy (ADR (strWriteData[1]), ADR ('18002918')); // write DSFID 0x18
|
||||
brsstrcpy (ADR (strWriteDatalen[1]), ADR ('0B'));
|
||||
uiReadAnswer[1] := 1;
|
||||
enStepReader1 := enRFIDReaderStep_WRITE;
|
||||
END_CASE
|
||||
|
||||
//WRITE
|
||||
//---------------------------
|
||||
enRFIDReaderStep_WRITE:
|
||||
// initialize write structure */
|
||||
//Frame Start
|
||||
brsstrcpy (ADR (strWriteTelegram[1]), ADR ('01'));
|
||||
//Length
|
||||
brsstrcat (ADR (strWriteTelegram[1]), ADR (strWriteDatalen[1]));
|
||||
//Const 00 + Start of Payload
|
||||
brsstrcat (ADR (strWriteTelegram[1]), ADR ('000304'));
|
||||
brsstrcat (ADR (strWriteTelegram[1]), ADR (strWriteData[1]));
|
||||
//Frame End + \n $r$n
|
||||
brsstrcat (ADR (strWriteTelegram[1]), ADR ('0000'));
|
||||
|
||||
FUB_FrameWrite1.buffer := ADR (strWriteTelegram[1]);
|
||||
FUB_FrameWrite1.buflng := UDINT_TO_UINT (brsstrlen (ADR (strWriteTelegram[1])));
|
||||
FUB_FrameWrite1.enable := 1;
|
||||
IF (FUB_FrameWrite1.status = frmERR_OK) THEN
|
||||
enStepReader1 := enRFIDReaderStep_READ;
|
||||
FUB_FrameWrite1.enable := 0;
|
||||
uiReadCount[1] := 0;
|
||||
END_IF
|
||||
|
||||
//READ
|
||||
//---------------------------
|
||||
enRFIDReaderStep_READ:
|
||||
// initialize read structure
|
||||
FUB_FrameRead1.enable := 1;
|
||||
pReadBuffer[1] := FUB_FrameRead1.buffer; // get adress OF read buffer */
|
||||
uiReadBufferLength[1] := FUB_FrameRead1.buflng; // get length OF read buffer */
|
||||
|
||||
IF (FUB_FrameRead1.status = frmERR_NOINPUT) THEN
|
||||
enStepReader1 := enRFIDReaderStep_WRITE; //Wiederholen
|
||||
ELSIF (FUB_FrameRead1.status = frmERR_OK) THEN
|
||||
udTemp := 0;
|
||||
brsmemset (ADR (strReadData[1]), 0, SIZEOF (strReadData[1]));
|
||||
brsmemcpy (ADR (strReadData[1]), pReadBuffer[1], uiReadBufferLength[1]); // copy read data into array */
|
||||
IF (uiReadBufferLength[1] > 7) THEN
|
||||
brsstrcpy (ADR (strReadTag[1]), ADR (strReadData[1])); // copy read data into Tag array */
|
||||
END_IF
|
||||
IF (uiReadBufferLength[1] = 16) THEN
|
||||
udTemp := ASCtoUDINT (ADR (strReadData[1]) + 5, FALSE);
|
||||
END_IF
|
||||
IF (uiReadBufferLength[1] >= 23) THEN
|
||||
//TagID Slot
|
||||
udTemp := ASCtoUDINT (ADR (strReadData[1]) + 2, TRUE);
|
||||
END_IF
|
||||
|
||||
// initialize release buffer structure */
|
||||
FUB_FrameReleaseBuffer1.enable := 1;
|
||||
FUB_FrameReleaseBuffer1.buffer := pReadBuffer[1];
|
||||
FUB_FrameReleaseBuffer1.buflng := uiReadBufferLength[1];
|
||||
FUB_FrameReleaseBuffer1 ();
|
||||
|
||||
uiReadCount[1] := uiReadCount[1] + 1;
|
||||
IF udTemp > 0 THEN
|
||||
gudRFIDReader1ID := udTemp;
|
||||
udSave := udTemp;
|
||||
END_IF
|
||||
IF (uiReadCount[1] = uiReadAnswer[1]) THEN
|
||||
FUB_FrameRead1.enable := 0;
|
||||
enStepReader1 := enRFIDReaderStep_IDLE;
|
||||
enCmd1 := enRFIDCMD_NONE;
|
||||
END_IF
|
||||
END_IF
|
||||
END_CASE
|
||||
|
||||
|
||||
CASE enStepReader2 OF
|
||||
//Init
|
||||
//---------------------------
|
||||
enRFIDReaderStep_INIT:
|
||||
IF (usNodeIxReader2 < 55) AND (NEEDED_DEVICES >= 2) THEN
|
||||
enStepReader2 := enRFIDReaderStep_USB_DVDEVOPEN;
|
||||
END_IF;
|
||||
|
||||
//Open Reader Devicer
|
||||
//---------------------------
|
||||
enRFIDReaderStep_USB_DVDEVOPEN:
|
||||
// initialize open structure */
|
||||
FUB_FrameXOpen2.device :=ADR (usbDevice[usNodeIxReader2].ifName);
|
||||
FUB_FrameXOpen2.mode := 0;
|
||||
FUB_FrameXOpen2.config := 0;
|
||||
FUB_FrameXOpen2.enable := (udNodeList[usNodeIxReader2] > 0);
|
||||
|
||||
IF (FUB_FrameXOpen2.status = frmERR_OK) THEN
|
||||
FUB_FrameWrite2.ident := FUB_FrameXOpen2.ident;
|
||||
FUB_FrameRead2.ident := FUB_FrameXOpen2.ident;
|
||||
FUB_FrameReleaseBuffer2.ident := FUB_FrameXOpen2.ident;
|
||||
FUB_FrameXOpen2.enable := 0;
|
||||
enStepReader2 := enRFIDReaderStep_INIT_READER;
|
||||
END_IF
|
||||
|
||||
//Get USB Nodelist
|
||||
//---------------------------
|
||||
enRFIDReaderStep_INIT_READER:
|
||||
// Register Write:
|
||||
// 5V operation, RF output active, full power; ISO 15693, low bit rate, 6.62 kbps, one subcarrier, 1 out OF 4
|
||||
//
|
||||
// 10 00 21 01 00
|
||||
// | | | | |
|
||||
// | | | | Value Register 0x01
|
||||
// | | | ISO Control Register (0x01)
|
||||
// | | Value Register 0x00
|
||||
// | Chip Status Control Register (0x00)
|
||||
// Register Write Cmd
|
||||
|
||||
// Set Protocol, 1 out OF 4, full power, low bit rate */
|
||||
brsstrcpy (ADR (strWriteData[2]), ADR ('1000210100'));
|
||||
brsstrcpy (ADR (strWriteDatalen[2]), ADR ('0C'));
|
||||
uiReadAnswer[2] := 1;
|
||||
enStepReader2 := enRFIDReaderStep_WRITE;
|
||||
|
||||
|
||||
//IDLE
|
||||
//---------------------------
|
||||
enRFIDReaderStep_IDLE:
|
||||
|
||||
CASE enCmd2 OF
|
||||
enRFIDCMD_NONE:
|
||||
|
||||
enRFIDCMD_READ_INVENTORY:
|
||||
// Inventory
|
||||
// 14 04 01 00
|
||||
// | | | |
|
||||
// | | | Mask Length
|
||||
// | | Anticollision Cmd
|
||||
// | Flags (Inventory flag = 1, HDR = 0)
|
||||
// Inventory request
|
||||
// inventory 16 slot
|
||||
brsstrcpy (ADR (strWriteData[2]), ADR ('14040100'));
|
||||
brsstrcpy (ADR (strWriteDatalen[2]), ADR ('0B'));
|
||||
uiReadAnswer[2] := 16; // 16 slot answer
|
||||
enStepReader2 := enRFIDReaderStep_WRITE;
|
||||
|
||||
enRFIDCMD_READ_SYSINFO:
|
||||
// Read System Info
|
||||
// 18 00 2B
|
||||
// | | |
|
||||
// | | Get System Info Cmd
|
||||
// | Flags (Option = 0, HDR = 0)
|
||||
// Request Cmd
|
||||
brsstrcpy (ADR (strWriteData[2]), ADR ('18002B'));
|
||||
brsstrcpy (ADR (strWriteDatalen[2]), ADR ('0A'));
|
||||
uiReadAnswer[2] := 1;
|
||||
enStepReader2 := enRFIDReaderStep_WRITE;
|
||||
|
||||
enRFIDCMD_READ_SBLOCK:
|
||||
// Read Single Block
|
||||
// 18 02 20
|
||||
// | | |
|
||||
// | | Read Single Block Cmd
|
||||
// | Flags (Option = 1, HDR = 0)
|
||||
// Request Cmd
|
||||
//
|
||||
// Option = 1: Return block security status
|
||||
brsstrcpy (ADR (strWriteData[2]), ADR ('184020')); // read block #1
|
||||
uiLength := brsitoa (usBlockNr, ADR (strTemp));
|
||||
IF (uiLength = 1) THEN
|
||||
brsstrcat (ADR (strWriteData[2]), ADR ('0'));
|
||||
END_IF
|
||||
brsstrcat (ADR (strWriteData[2]), ADR (strTemp));
|
||||
brsstrcpy (ADR (strWriteDatalen[2]), ADR ('0B'));
|
||||
uiReadAnswer[2] := 1;
|
||||
enStepReader2 := enRFIDReaderStep_WRITE;
|
||||
|
||||
|
||||
enRFIDCMD_WRITE_SBLOCK:
|
||||
// Write Single Block
|
||||
// 18 00 21
|
||||
// | | |
|
||||
// | | Write Single Block Cmd
|
||||
// | Flags (Option = 0, HDR = 0)
|
||||
// Request Cmd
|
||||
brsstrcpy (ADR (strWriteData[2]), ADR ('180021')); // write block #1 (Data = 0x12345678)
|
||||
uiLength := brsitoa (usBlockNr, ADR (strTemp));
|
||||
IF (uiLength = 1) THEN
|
||||
brsstrcat (ADR (strWriteData[2]), ADR ('0'));
|
||||
END_IF
|
||||
UDINTtoASC (ADR (strWriteData[2]) + 8, udWriteData);
|
||||
brsstrcpy (ADR (strWriteDatalen[2]), ADR ('0F'));
|
||||
uiReadAnswer[2] := 1;
|
||||
enStepReader2 := enRFIDReaderStep_WRITE;
|
||||
|
||||
enRFIDCMD_WRITE_AFI:
|
||||
// Write AFI
|
||||
// 18 00 30
|
||||
// | | |
|
||||
// | | Get System Info Cmd
|
||||
// | Flags (Option = 0, HDR = 0)
|
||||
// Request Cmd
|
||||
brsstrcpy (ADR (strWriteData[2]), ADR ('18002730')); // write AFI (0x30 = Identification)
|
||||
brsstrcpy (ADR (strWriteDatalen[2]), ADR ('0B'));
|
||||
uiReadAnswer[2] := 1;
|
||||
enStepReader2 := enRFIDReaderStep_WRITE;
|
||||
|
||||
enRFIDCMD_WRITE_DFSID:
|
||||
// Write DSFID
|
||||
// 18 00 29
|
||||
// | | |
|
||||
// | | Write DSFID Cmd
|
||||
// | Flags (Option = 0, HDR = 0)
|
||||
// Request Cmd
|
||||
brsstrcpy (ADR (strWriteData[2]), ADR ('18002918')); // write DSFID 0x18
|
||||
brsstrcpy (ADR (strWriteDatalen[2]), ADR ('0B'));
|
||||
uiReadAnswer[2] := 1;
|
||||
enStepReader2 := enRFIDReaderStep_WRITE;
|
||||
END_CASE
|
||||
|
||||
//WRITE
|
||||
//---------------------------
|
||||
enRFIDReaderStep_WRITE:
|
||||
// initialize write structure */
|
||||
//Frame Start
|
||||
brsstrcpy (ADR (strWriteTelegram[2]), ADR ('01'));
|
||||
//Length
|
||||
brsstrcat (ADR (strWriteTelegram[2]), ADR (strWriteDatalen[2]));
|
||||
//Const 00 + Start of Payload
|
||||
brsstrcat (ADR (strWriteTelegram[2]), ADR ('000304'));
|
||||
brsstrcat (ADR (strWriteTelegram[2]), ADR (strWriteData[2]));
|
||||
//Frame End
|
||||
brsstrcat (ADR (strWriteTelegram[2]), ADR ('0000'));
|
||||
FUB_FrameWrite2.buffer := ADR (strWriteTelegram[2]);
|
||||
FUB_FrameWrite2.buflng := UDINT_TO_UINT (brsstrlen (ADR (strWriteTelegram[2])));
|
||||
FUB_FrameWrite2.enable := 1;
|
||||
IF (FUB_FrameWrite2.status = frmERR_OK) THEN
|
||||
enStepReader2 := enRFIDReaderStep_READ;
|
||||
FUB_FrameWrite2.enable := 0;
|
||||
uiReadCount[2] := 0;
|
||||
END_IF
|
||||
|
||||
//READ
|
||||
//---------------------------
|
||||
enRFIDReaderStep_READ:
|
||||
// initialize read structure
|
||||
FUB_FrameRead2.enable := 1;
|
||||
pReadBuffer[2] := FUB_FrameRead2.buffer; // get adress OF read buffer */
|
||||
uiReadBufferLength[2] := FUB_FrameRead2.buflng; // get length OF read buffer */
|
||||
|
||||
IF (FUB_FrameRead2.status = frmERR_OK) THEN
|
||||
udTemp := 0;
|
||||
brsmemset (ADR (strReadData[2]), 0, SIZEOF (strReadData[2]));
|
||||
brsmemcpy (ADR (strReadData[2]), pReadBuffer[2], uiReadBufferLength[2]); // copy read data into array */
|
||||
IF (uiReadBufferLength[2] > 7) THEN
|
||||
brsstrcpy (ADR (strReadTag[2]), ADR (strReadData[2])); // copy read data into Tag array */
|
||||
END_IF
|
||||
IF (uiReadBufferLength[2] = 16) THEN
|
||||
udTemp := ASCtoUDINT (ADR (strReadData[2]) + 5, FALSE);
|
||||
END_IF
|
||||
IF (uiReadBufferLength[2] >= 23) THEN
|
||||
//TagID Slot
|
||||
udTemp := ASCtoUDINT (ADR (strReadData[2]) + 2, TRUE);
|
||||
END_IF
|
||||
|
||||
// initialize release buffer structure */
|
||||
FUB_FrameReleaseBuffer2.enable := 1;
|
||||
FUB_FrameReleaseBuffer2.buffer := pReadBuffer[2];
|
||||
FUB_FrameReleaseBuffer2.buflng := uiReadBufferLength[2];
|
||||
FUB_FrameReleaseBuffer2 ();
|
||||
|
||||
uiReadCount[2] := uiReadCount[2] + 1;
|
||||
|
||||
IF udTemp > 0 THEN
|
||||
gudRFIDReader2ID := udTemp;
|
||||
END_IF
|
||||
IF (uiReadCount[2] = uiReadAnswer[2]) THEN
|
||||
FUB_FrameRead2.enable := 0;
|
||||
enStepReader2 := enRFIDReaderStep_IDLE;
|
||||
enCmd2 := enRFIDCMD_NONE;
|
||||
END_IF
|
||||
END_IF
|
||||
END_CASE
|
||||
|
||||
|
||||
TON_Read1.IN := (enStepReader1 = enRFIDReaderStep_IDLE) AND (enCmd1 = enRFIDCMD_NONE) AND (NEEDED_DEVICES >= 1);
|
||||
TON_Read1.PT := t#1s;
|
||||
TON_Read1 ();
|
||||
IF TON_Read1.Q THEN
|
||||
enCmd1 := enRFIDCMD_READ_INVENTORY;
|
||||
END_IF
|
||||
TON_Read2.IN := (enStepReader2 = enRFIDReaderStep_IDLE) AND (enCmd2 = enRFIDCMD_NONE) AND (NEEDED_DEVICES >= 2);
|
||||
TON_Read2.PT := t#1s;
|
||||
TON_Read2 ();
|
||||
IF TON_Read2.Q THEN
|
||||
enCmd2 := enRFIDCMD_READ_INVENTORY;
|
||||
END_IF
|
||||
TON_Read3.IN := (enStepReader3 = enRFIDReaderStep_IDLE) AND (enCmd3 = enRFIDCMD_NONE AND (NEEDED_DEVICES >= 3));
|
||||
TON_Read3.PT := t#1s;
|
||||
TON_Read3 ();
|
||||
IF TON_Read3.Q THEN
|
||||
enCmd3 := enRFIDCMD_READ_INVENTORY;
|
||||
END_IF
|
||||
TON_Read4.IN := (enStepReader4 = enRFIDReaderStep_IDLE) AND (enCmd4 = enRFIDCMD_NONE AND (NEEDED_DEVICES >= 4));
|
||||
TON_Read4.PT := t#1s;
|
||||
TON_Read4 ();
|
||||
IF TON_Read4.Q THEN
|
||||
enCmd4 := enRFIDCMD_READ_INVENTORY;
|
||||
END_IF
|
||||
|
||||
//Call FUBs
|
||||
FUB_FrameRead1 ();
|
||||
FUB_FrameRead2 ();
|
||||
FUB_FrameRead3 ();
|
||||
FUB_FrameRead4 ();
|
||||
FUB_FrameWrite1 ();
|
||||
FUB_FrameWrite2 ();
|
||||
FUB_FrameWrite3 ();
|
||||
FUB_FrameWrite4 ();
|
||||
FUB_FrameXOpen1 ();
|
||||
FUB_FrameXOpen2 ();
|
||||
FUB_FrameXOpen3 ();
|
||||
FUB_FrameXOpen4 ();
|
||||
FUB_UsbNodeGet ();
|
||||
FUB_UsbNodeListGet ();
|
||||
FUB_UsbDescriptorGet ();
|
||||
|
||||
END_PROGRAM
|
||||
|
||||
PROGRAM _EXIT
|
||||
|
||||
|
||||
(* TODO : Add your code here *)
|
||||
|
||||
|
||||
END_PROGRAM
|
||||
30
Logical/Communication/RFID/RFID_USB/RFID_USB.typ
Normal file
30
Logical/Communication/RFID/RFID_USB/RFID_USB.typ
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
TYPE
|
||||
typ_enStepRFID :
|
||||
( (*Schritte RFID Leser*)
|
||||
enRFIDStep_INIT, (*Init -> Search Reader*)
|
||||
enRFIDStep_USB_GETNODELIST, (*Get USB Devices*)
|
||||
enRFIDStep_USB_SEARCHDEVICE, (*Search Reader in Devices*)
|
||||
enRFIDStep_USB_READDEVDESCR, (*Get Device Descriptor*)
|
||||
enRFIDStep_IDLE
|
||||
);
|
||||
typ_enCmdRFID :
|
||||
(
|
||||
enRFIDCMD_NONE,
|
||||
enRFIDCMD_READ_INVENTORY,
|
||||
enRFIDCMD_READ_SYSINFO,
|
||||
enRFIDCMD_READ_SBLOCK,
|
||||
enRFIDCMD_WRITE_SBLOCK,
|
||||
enRFIDCMD_WRITE_AFI,
|
||||
enRFIDCMD_WRITE_DFSID
|
||||
);
|
||||
typ_enStepRFIDReader :
|
||||
( (*Schritte RFID Leser*)
|
||||
enRFIDReaderStep_INIT, (*Init -> Search Reader*)
|
||||
enRFIDReaderStep_USB_DVDEVOPEN, (*Open Reader*)
|
||||
enRFIDReaderStep_INIT_READER, (*Initialize Reader*)
|
||||
enRFIDReaderStep_IDLE, (*Wait for commands*)
|
||||
enRFIDReaderStep_READ, (*READ from Reader*)
|
||||
enRFIDReaderStep_WRITE (*WRITE to Reader*)
|
||||
);
|
||||
END_TYPE
|
||||
71
Logical/Communication/RFID/RFID_USB/RFID_USB.var
Normal file
71
Logical/Communication/RFID/RFID_USB/RFID_USB.var
Normal file
@@ -0,0 +1,71 @@
|
||||
VAR
|
||||
sizeUsbNode : USINT;
|
||||
END_VAR
|
||||
VAR RETAIN
|
||||
usNodeIx : USINT;
|
||||
END_VAR
|
||||
VAR
|
||||
usFoundReaders : USINT;
|
||||
usNodeIxReader1 : USINT; (*Node Index Reader 1*)
|
||||
usNodeIxReader2 : USINT; (*Node Index Reader 2*)
|
||||
usNodeIxReader3 : USINT; (*Node Index Reader 3*)
|
||||
usNodeIxReader4 : USINT; (*Node Index Reader 4*)
|
||||
usBlockNr : USINT;
|
||||
udSerialNr : ARRAY[0..31] OF UDINT;
|
||||
uiReadAnswer : ARRAY[1..4] OF UINT;
|
||||
uiReadBufferLength : ARRAY[1..4] OF UINT;
|
||||
uiReadCount : ARRAY[1..4] OF UINT;
|
||||
uiLength : UINT;
|
||||
udAttachDetachCount : UDINT;
|
||||
udNodeList : ARRAY[0..31] OF UDINT;
|
||||
pReadBuffer : ARRAY[1..4] OF UDINT;
|
||||
udTemp : UDINT;
|
||||
udSave : UDINT;
|
||||
udWriteData : UDINT;
|
||||
strReadData : ARRAY[1..4] OF STRING[80];
|
||||
strReadTag : ARRAY[1..4] OF STRING[80];
|
||||
strDeviceDescr : ARRAY[1..4] OF WSTRING[80];
|
||||
strWriteData : ARRAY[1..4] OF STRING[80];
|
||||
strWriteDatalen : ARRAY[1..4] OF STRING[2];
|
||||
strWriteTelegram : ARRAY[1..4] OF STRING[80];
|
||||
strTemp : STRING[2];
|
||||
enStep : typ_enStepRFID;
|
||||
enStepReader1 : typ_enStepRFIDReader;
|
||||
enStepReader2 : typ_enStepRFIDReader;
|
||||
enStepReader3 : typ_enStepRFIDReader;
|
||||
enStepReader4 : typ_enStepRFIDReader;
|
||||
enCmd1 : {REDUND_UNREPLICABLE} typ_enCmdRFID;
|
||||
enCmd2 : typ_enCmdRFID;
|
||||
enCmd3 : typ_enCmdRFID;
|
||||
enCmd4 : typ_enCmdRFID;
|
||||
usbDevice : ARRAY[0..31] OF usbNode_typ;
|
||||
FUB_FrameRead1 : FRM_read;
|
||||
FUB_FrameRead2 : FRM_read;
|
||||
FUB_FrameRead3 : FRM_read;
|
||||
FUB_FrameRead4 : FRM_read;
|
||||
FUB_FrameReleaseBuffer1 : FRM_rbuf;
|
||||
FUB_FrameReleaseBuffer2 : FRM_rbuf;
|
||||
FUB_FrameReleaseBuffer3 : FRM_rbuf;
|
||||
FUB_FrameReleaseBuffer4 : FRM_rbuf;
|
||||
FUB_FrameWrite1 : FRM_write;
|
||||
FUB_FrameWrite2 : FRM_write;
|
||||
FUB_FrameWrite3 : FRM_write;
|
||||
FUB_FrameWrite4 : FRM_write;
|
||||
FUB_FrameXOpen1 : FRM_xopen;
|
||||
FUB_FrameXOpen2 : FRM_xopen;
|
||||
FUB_FrameXOpen3 : FRM_xopen;
|
||||
FUB_FrameXOpen4 : FRM_xopen;
|
||||
FUB_UsbNodeGet : UsbNodeGet;
|
||||
FUB_UsbNodeListGet : UsbNodeListGet;
|
||||
FUB_UsbDescriptorGet : UsbDescriptorGet;
|
||||
TON_Read1 : TON;
|
||||
TON_Read2 : TON;
|
||||
TON_Read3 : TON;
|
||||
TON_Read4 : TON;
|
||||
END_VAR
|
||||
VAR CONSTANT
|
||||
TRANSPONDER_FTDI_VENDOR_ID : UINT := 8137;
|
||||
TRANSPONDER_FTDI_PRODUCT_ID : UINT := 17;
|
||||
TRANSPONDER_FTDI_BCD : UINT := 256;
|
||||
NEEDED_DEVICES : USINT := 1; (*4 RFID Leserverbaut*)
|
||||
END_VAR
|
||||
44
Logical/Communication/RFID/RFID_USB/UDINTtoASC.st
Normal file
44
Logical/Communication/RFID/RFID_USB/UDINTtoASC.st
Normal file
@@ -0,0 +1,44 @@
|
||||
FUNCTION UDINTtoASC
|
||||
UDINTtoASC := udNextAdr + 8;
|
||||
udNextAdr := udInNextAdr;
|
||||
udValue := udInValue;
|
||||
FOR usi:=7 TO 0 BY -1 DO
|
||||
usChar := UDINT_TO_USINT (udValue MOD 16);
|
||||
usChar := UDINT_TO_USINT (udValue / 16);
|
||||
brsmemcpy (ADR (usChar), udNextAdr + usi, 1);
|
||||
CASE usChar OF
|
||||
0:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('0'), 1);
|
||||
1:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('1'), 1);
|
||||
2:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('2'), 1);
|
||||
3:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('3'), 1);
|
||||
4:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('4'), 1);
|
||||
5:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('5'), 1);
|
||||
6:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('6'), 1);
|
||||
7:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('7'), 1);
|
||||
8:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('8'), 1);
|
||||
9:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('9'), 1);
|
||||
10:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('A'), 1);
|
||||
11:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('B'), 1);
|
||||
12:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('C'), 1);
|
||||
13:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('D'), 1);
|
||||
14:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('E'), 1);
|
||||
15:
|
||||
brsmemcpy (udNextAdr + usi, ADR ('F'), 1);
|
||||
END_CASE
|
||||
END_FOR
|
||||
END_FUNCTION
|
||||
79
Logical/GlobalVars/Global.typ
Normal file
79
Logical/GlobalVars/Global.typ
Normal file
@@ -0,0 +1,79 @@
|
||||
|
||||
TYPE
|
||||
ACPinverter_typ : STRUCT (*Acopos Inverter*)
|
||||
bModuleOK : BOOL;
|
||||
In : ACPinverterIn_typ;
|
||||
Out : ACPinverterOut_typ;
|
||||
END_STRUCT;
|
||||
ACPinverterIn_typ : STRUCT (*Acopos Inverter Inputs*)
|
||||
bStat00_ReadytoSwitchOn : BOOL;
|
||||
bStat01_SwitchedOnReady : BOOL;
|
||||
bstat02_Enabled : BOOL;
|
||||
bStat03_FaultDetecton : BOOL;
|
||||
bStat04_VoltageDisabled : BOOL;
|
||||
bStat05_QuickstopINV : BOOL;
|
||||
bStat06_SwitchedOnDisabled : BOOL;
|
||||
bStat07_Alarm : BOOL;
|
||||
bStat09_ReferenceViaNetwork : BOOL;
|
||||
bStat10_TargetReferenceReached : BOOL;
|
||||
bStat11_InternalLimitActive : BOOL;
|
||||
bStat14_StopViaKey : BOOL;
|
||||
bStat15_RotationDirection : BOOL;
|
||||
bExtStat00_EEPROM_NonVolatile : BOOL;
|
||||
bExtStat01_ParameterConsCheck : BOOL;
|
||||
bExtStat02_DriveInFault : BOOL;
|
||||
bExtStat04_SpeedModeActive : BOOL;
|
||||
bExtStat05_DCInjection : BOOL;
|
||||
bExtStat06_TransientState : BOOL;
|
||||
bExtStat07_ThermalTreshold : BOOL;
|
||||
bExtStat08_Overbraking : BOOL;
|
||||
bExtStat09_Accelerating : BOOL;
|
||||
bExtStat10_Decellerating : BOOL;
|
||||
bExtStat11_I_Limited : BOOL;
|
||||
bExtStat12_FastStopping : BOOL;
|
||||
bExtStat13_ExtControlled0 : BOOL;
|
||||
bExtStat14_ExtCondrolled1 : BOOL;
|
||||
bExtStat15_OperationDir : BOOL;
|
||||
iRFRD_Velocity : INT;
|
||||
iOTR_Torque : INT;
|
||||
uiLCR_Current : UINT;
|
||||
uiTHD_ThermalStateDrive : UINT;
|
||||
uiTHR_ThermalStatMotor : UINT;
|
||||
bInputLI1 : BOOL;
|
||||
bInputLI2 : BOOL;
|
||||
bInputLI3 : BOOL;
|
||||
bInputLI4 : BOOL;
|
||||
bRelay2State : BOOL;
|
||||
uiErrorCode : UINT;
|
||||
iLastFault : INT;
|
||||
END_STRUCT;
|
||||
ACPinverterOut_typ : STRUCT (*Acopos Inverter Outputs*)
|
||||
bCmd00_SwitchOn : BOOL;
|
||||
bCmd01_DisableVoltage : BOOL;
|
||||
bCmd02_QuickStop : BOOL;
|
||||
bCmd03_EnableOperation : BOOL;
|
||||
bCmd07_ResetFault : BOOL;
|
||||
bCmd11_Direction : BOOL;
|
||||
bCmd12_StopCommand : BOOL;
|
||||
bCmd13 : BOOL;
|
||||
bCmd14 : BOOL;
|
||||
bCmd15 : BOOL;
|
||||
bCmi00_FactorySettings : BOOL;
|
||||
bCmi01_SaveToEEPROM : BOOL;
|
||||
bCmi03_ExternalFault : BOOL;
|
||||
bCmi04_RampSwitching : BOOL;
|
||||
bCmi09_FrequencyReference : BOOL;
|
||||
bCmi13_LockOnStandstill : BOOL;
|
||||
bCmi15_CheckParameterConsitency : BOOL;
|
||||
iLFR_Setpointspeed : INT;
|
||||
bOR_Relay2 : BOOL;
|
||||
END_STRUCT;
|
||||
PushButton_typ : STRUCT (*Leuchtringtaster*)
|
||||
bInKeyStatus : BOOL; (*Taster - Status*)
|
||||
bOuGreen : BOOL; (*Leuchtring Gr<47>n*)
|
||||
bOuYellow : BOOL; (*Leuchtring Gelb*)
|
||||
bOuRed : BOOL; (*Leuchtring Rot*)
|
||||
bOuWhite : BOOL; (*Leuchtring Wei<65>*)
|
||||
bOuBlue : BOOL; (*Leuchtring Blau (Optional)*)
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
130
Logical/GlobalVars/Global.var
Normal file
130
Logical/GlobalVars/Global.var
Normal file
@@ -0,0 +1,130 @@
|
||||
(*================================================================================================================*)
|
||||
(*CPU (PWLnk Node 240)*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
udSerialNr : UDINT; (*Seriennummer*)
|
||||
guiTemperatureCPU : UINT; (*CPU Temperatur*)
|
||||
guiTemperatureENV : UINT; (*Umgebungstemperatur*)
|
||||
gdiSystemTime : DINT; (*Systemzeit [<5B>s]*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST3.IF1.ST16 - X67DI1371*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbST20ModuleOk : BOOL;
|
||||
gPB1 : PushButton_typ; (*Leuchtringtaster 1*)
|
||||
gPB2 : PushButton_typ; (*Leuchtringtaster 2*)
|
||||
gPB3 : PushButton_typ; (*Leuchtringtaster 3*)
|
||||
gPB4 : PushButton_typ; (*Leuchtringtaster 4*)
|
||||
gPB5 : PushButton_typ; (*Leuchtringtaster 5*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST3.IF1.ST3 - SLX411 (51K1)*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSLXModuleOk : BOOL;
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*Signals to Safe PLC*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSPLCResetEStop : BOOL; (*Reset Not-Halt*)
|
||||
gbSPLCResetDoors : BOOL; (*Reset T<>ren*)
|
||||
gbSPLCReadbackEstop : BOOL; (*R<>ckf<6B>hrkreis Not-Halt*)
|
||||
END_VAR
|
||||
(*gbSPLCReadbackSafety*)
|
||||
(*R<>cklesesignale direkt von Eingang gemappt*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*Signals from Safe PLC*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSPLCInEstopOk : BOOL; (*Safety PLC E-Stop ist Ok*)
|
||||
gbSPLCInDoorsOk : BOOL; (*Safety PLC T<>rkreis it Ok*)
|
||||
gbSPLCInErrorReadBackEStop : BOOL; (*Safety PlC Fehler R<>ckf<6B>hrkreis Netzsch<63>tze (PV Mapping von DI)*)
|
||||
END_VAR
|
||||
(*gbSPLCInErrorReadBackSafety*)
|
||||
VAR
|
||||
guiSPLCInESTOPDiag : UINT; (*DiagnoseCode E-Stop*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*I/O from SLX*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSInEStop1Ok : BOOL; (*Sicherer Eingang 03/04 Equivalent - Nothalt Bedientableau Ok*)
|
||||
gusST3FBK_2ChStatus12 : USINT; (*Status 2-kanal*)
|
||||
gusST3FBK_2ChStatus34 : USINT; (*Status 2-kanal*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST3.IF1.ST4 - SC2212 (51K2)*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSInMaintDoor1Ok : BOOL; (*Sicherer Eingang 01/02 Equivalent - Schutztuer 1 Ok*)
|
||||
gbSOuMains4T1 : BOOL; (*Sicherer Ausgang 01 - Netzsch<63>tz Acopos Umrichter X*)
|
||||
gbSOuMains6T1 : BOOL; (*Sicherer Ausgang 02 - Netzsch<63>tz Acopos Umrichter Y / S<>ge*)
|
||||
gusST4FBK_2ChStatus12 : USINT; (*Status 2-kanal*)
|
||||
gusST4FBK_2ChStatus34 : USINT; (*Status 2-kanal*)
|
||||
gusST4FBK_2ChStatus56 : USINT; (*Status 2-kanal*)
|
||||
guiST4FBK_StatusRestInhibit : UINT; (*Status Wiederanlaufsperre*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST3.IF1.ST5 - SO4110 (51K3)*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSOuMains7M1 : BOOL; (*Sicherer Ausgang 01 - Netzsch<63>tz Hydraulikaggregat*)
|
||||
gbSOuMains8M1 : BOOL; (*Sicherer Ausgang 012 - Netzsch<63>tz K<>hlpumpe*)
|
||||
gudST5FBK_StatusRestInhibit : UDINT; (*Status Wiederanlaufsperre*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST3.IF1.ST6 - SO6530 (52K1)*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbSOuSafetyOk : BOOL; (*Sicherer Ausgang 01/02 Sicherheit Ok*)
|
||||
END_VAR
|
||||
(*IF1.ST3.IF1.ST7 - DI9371 (Eing<6E>nge Allgemein)*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*//E1-11 Meldeeing<6E>nge auf machine.st*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST6 - DI9371 (Eing<6E>nge Allgemein)*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST7 - DI9371 (Eing<6E>nge*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*//Nietbolzen GS*)
|
||||
(*//gbInRobGripper1Closed*)
|
||||
(*//gbInRobGripper1Open*)
|
||||
(*//gbInRobGripper2Closed*)
|
||||
(*//gbInRobGripper2Open*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST8 - DI9371 (Eing<6E>nge)*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
VAR
|
||||
gbInMaintDoor1Error : BOOL; (*Wartungst<73>r 1 Diagnose - Fehler*)
|
||||
gbInMaintDoor1Closed : BOOL; (*Wartungst<73>r 1 Geschlossen - nicht verriegelt*)
|
||||
gbInMaintDoor2Error : BOOL; (*Wartungst<73>r 2 Diagnose - Fehler*)
|
||||
gbInMaintDoor2Closed : BOOL; (*Wartungst<73>r 1 Geschlossen - nicht verriegelt*)
|
||||
gbInMaintDoor3Error : BOOL; (*Wartungst<73>r 3 Diagnose - Fehler*)
|
||||
gbInMaintDoor3Closed : BOOL; (*Wartungst<73>r 3 Geschlossen - nicht verriegelt*)
|
||||
END_VAR
|
||||
(*/Spare*)
|
||||
VAR
|
||||
gbInMainAirOk : BOOL; (*Haupluft Druck Ok*)
|
||||
gbInFdBackMainsInverters : BOOL; (*R<>ckf<6B>hrkreis Netzsch<63>tze Umrichter // PV Mapping auf PLC*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST9 - DI9371 (Eing<6E>nge)*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST10 - X20DO9322*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*//gbOuEnableBunker*)
|
||||
(*//gbOuEnablePott*)
|
||||
VAR
|
||||
gbOuMaintDoor1Lock : BOOL; (*Wartungst<73>r 1 Verriegeln*)
|
||||
END_VAR
|
||||
(*//1Spare*)
|
||||
VAR
|
||||
gbOuLightOn : BOOL; (*Anlagenbeleuchtung*)
|
||||
END_VAR
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
(*IF1.ST11 - X20DO9322*)
|
||||
(*----------------------------------------------------------------------------------------------------------------*)
|
||||
14
Logical/GlobalVars/Global_Axis.var
Normal file
14
Logical/GlobalVars/Global_Axis.var
Normal file
@@ -0,0 +1,14 @@
|
||||
(*//Achsstrukturen*)
|
||||
VAR
|
||||
gAxisX : ACP10AXIS_typ;
|
||||
gAxisY : ACP10AXIS_typ;
|
||||
gAxisSaw : ACP10AXIS_typ;
|
||||
END_VAR
|
||||
(*Permanent*)
|
||||
VAR RETAIN
|
||||
gbAxisXCalibrated : {REDUND_UNREPLICABLE} BOOL; (*X-Achse kalibriert*)
|
||||
gbAxisYCalibrated : {REDUND_UNREPLICABLE} BOOL; (*Y-Achse kalibriert*)
|
||||
glrOffsetAxisX : {REDUND_UNREPLICABLE} LREAL; (*Referenzoffset X Achse*)
|
||||
glrOffsetAxisY : {REDUND_UNREPLICABLE} LREAL; (*Referenzoffset X Achse*)
|
||||
gCounter : gtyp_PartCounter; (*Z<>hler*)
|
||||
END_VAR
|
||||
9
Logical/GlobalVars/Package.pkg
Normal file
9
Logical/GlobalVars/Package.pkg
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio FileVersion="4.9"?>
|
||||
<Package xmlns="http://br-automation.co.at/AS/Package">
|
||||
<Objects>
|
||||
<Object Type="File">Global.typ</Object>
|
||||
<Object Type="File" Description="Global variables / IOs">Global.var</Object>
|
||||
<Object Type="File" Description="Global variables Achsdefinitionen">Global_Axis.var</Object>
|
||||
</Objects>
|
||||
</Package>
|
||||
BIN
Logical/Libraries/Acp10_MC/SG4/ARM/acp10_mc.br
Normal file
BIN
Logical/Libraries/Acp10_MC/SG4/ARM/acp10_mc.br
Normal file
Binary file not shown.
BIN
Logical/Libraries/Acp10_MC/SG4/ARM/libacp10_mc.a
Normal file
BIN
Logical/Libraries/Acp10_MC/SG4/ARM/libacp10_mc.a
Normal file
Binary file not shown.
BIN
Logical/Libraries/Acp10_MC/SG4/IA32/acp10_mc.br
Normal file
BIN
Logical/Libraries/Acp10_MC/SG4/IA32/acp10_mc.br
Normal file
Binary file not shown.
BIN
Logical/Libraries/Acp10_MC/SG4/IA32/libacp10_mc.a
Normal file
BIN
Logical/Libraries/Acp10_MC/SG4/IA32/libacp10_mc.a
Normal file
Binary file not shown.
7114
Logical/Libraries/Acp10_MC/SG4/acp10_mc.h
Normal file
7114
Logical/Libraries/Acp10_MC/SG4/acp10_mc.h
Normal file
File diff suppressed because it is too large
Load Diff
4087
Logical/Libraries/Acp10_MC/acp10_mc.fun
Normal file
4087
Logical/Libraries/Acp10_MC/acp10_mc.fun
Normal file
File diff suppressed because it is too large
Load Diff
2059
Logical/Libraries/Acp10_MC/acp10_mc.typ
Normal file
2059
Logical/Libraries/Acp10_MC/acp10_mc.typ
Normal file
File diff suppressed because it is too large
Load Diff
290
Logical/Libraries/Acp10_MC/acp10_mc.var
Normal file
290
Logical/Libraries/Acp10_MC/acp10_mc.var
Normal file
@@ -0,0 +1,290 @@
|
||||
VAR CONSTANT
|
||||
mc5TH_ORDER_POLYNOMIAL : UINT := 4; (*motion rule*)
|
||||
mcABOVE_WINDOW : USINT := 40; (*trigger event mode*)
|
||||
mcABS : USINT := 1; (*encoder type*)
|
||||
mcABSOLUTE : USINT := 0; (*start mode*)
|
||||
mcABSOLUTE_NO_RESET : USINT := 2; (*definition for the shift input of MC_BR_Offset and MC_BR_Phasing*)
|
||||
mcACKNOWLEDGE_ALL : UINT := 2; (*acknowledge all error records immediately*)
|
||||
mcACT_CFG : UINT := 1;
|
||||
mcACTUAL_POSITION : UINT := 1; (*position source for MPDC*)
|
||||
mcACTUAL_VELOCITY : INT := 10; (*PLCopen motion parameter*)
|
||||
mcADD_DATE_TIME : UINT := 1; (*additional data object type*)
|
||||
mcALL_AXES : UDINT := 16#FFFFFFFF;
|
||||
mcALL_EVENTS : USINT := 255; (*event index*)
|
||||
mcALL_PARAMS : USINT := 0; (*parameter index*)
|
||||
mcALL_STATES : USINT := 255; (*state index*)
|
||||
mcAUT_POS_TOLERANCE : INT := 1009; (*PLCopen motion parameter*)
|
||||
mcAUTOMAT_POS : USINT := 100; (*additional movement direction*)
|
||||
mcAVERAGE : UINT := 2;
|
||||
mcAVERAGE_WEIGHTED : UINT := 4;
|
||||
mcAXIS_ERROR : USINT := 0;
|
||||
mcAXIS_FACTOR : INT := 1007; (*PLCopen motion parameter*)
|
||||
mcAXIS_FACTOR_MAPPING : INT := 1019; (*PLCopen motion parameter*)
|
||||
mcAXIS_NETWORK_CYCLE_TIME: INT := 1018; (*PLCopen motion parameter*)
|
||||
mcAXIS_PERIOD : INT := 1008; (*PLCopen motion parameter*)
|
||||
mcAXIS_PERIOD_MAPPING : INT := 1020; (*PLCopen motion parameter*)
|
||||
mcAXIS_WARNING : USINT := 1;
|
||||
mcBASIS_PARAMETERS : REAL := 2.0; (*Option for DefaultMoveParameter*)
|
||||
mcBELOW_WINDOW : USINT := 50; (*trigger event mode*)
|
||||
mcBESTFIT_5TH_ORDER : UINT := 1024; (*interpolation rule*)
|
||||
mcBESTFIT_6TH_ORDER : UINT := 1280; (*interpolation rule*)
|
||||
mcBLANK : UINT := 0;
|
||||
mcBRAKE_CONTROL_INIT : USINT := 8; (*brake command*)
|
||||
mcBRAKE_TEST_INIT : USINT := 2; (*brake command*)
|
||||
mcBRAKE_TEST_START : USINT := 4; (*brake command*)
|
||||
mcCALCULATION : UINT := 11; (*setup mode*)
|
||||
mcCATCH_UP : USINT := 4; (*synchronization mode*)
|
||||
mcCHECK : UINT := 1; (*mode for automat compensation check*)
|
||||
mcCHECK_HOMING_OFF : USINT := 1; (*disable homing check*)
|
||||
mcCLOSE : USINT := 0;
|
||||
mcCMD_ERROR : UINT := 1; (*error command*)
|
||||
mcCMD_ERROR_COAST_TO_STANDSTILL : UINT := 5; (*error command*)
|
||||
mcCMD_ERROR_INDUCTION_HALT : UINT := 6; (*error command*)
|
||||
mcCMD_ERROR_STOP : UINT := 2; (*error command*)
|
||||
mcCMD_ERROR_STOP_CTRL_OFF : UINT := 3; (*error command*)
|
||||
mcCMD_ERROR_V_STOP_CTRL_OFF : UINT := 4; (*error command*)
|
||||
mcCMD_WARNING : UINT := 0; (*error command *)
|
||||
mcCOMMANDED_POSITION : INT := 1; (*PLCopen motion parameter*)
|
||||
mcCOMMANDED_VELOCITY : INT := 11; (*PLCopen motion parameter*)
|
||||
mcCONTINUE_CONTROLLER_OFF : UINT := 128; (* continue if controller is off *)
|
||||
mcCORRECT_CURRENT_CYCLE : UINT := 32768; (*additive StartMode for MC_BR_CrossCutterControl*)
|
||||
mcCUBIC_SPLINE : UINT := 256; (*interpolation rule*)
|
||||
mcCURRENT_DIR : USINT := 2; (*movement direction*)
|
||||
mcCYCLIC : UINT := 2; (*event move mode*)
|
||||
mcCYCLIC_ALL_EVENTS : UINT := 3; (*event move mode*)
|
||||
mcDATOBJ : UINT := 0; (*data object type*)
|
||||
mcDEFAULT_MOVE_PARAMETERS : INT := 1012; (*PLCopen motion parameter*)
|
||||
mcDIRECT : USINT := 7; (*start mode*)
|
||||
mcDIR_DEPENDENT : UINT := 1; (*mode for MPDC*)
|
||||
mcDIR_DEPENDENT_BACKLASH : UINT := 2; (*mode for MPDC*)
|
||||
mcDIR_DEPENDENT_SET_POSITION : UINT := 5; (*mode for MPDC*)
|
||||
mcDIR_INDEPENDENT : UINT := 3; (*mode for MPDC*)
|
||||
mcDIR_INDEPENDENT_SPEED : UINT := 4; (*mode for MPDC*)
|
||||
mcDIR_DEPENDENT_AX_POS : UINT := 257; (*mode for MPDC*)
|
||||
mcDIR_DEPENDENT_BACKLASH_AX_POS : UINT := 258; (*mode for MPDC*)
|
||||
mcDIR_DEPENDENT_SET_POS_AX_POS : UINT := 261; (*mode for MPDC*)
|
||||
mcDIR_INDEPENDENT_AX_POS : UINT := 259; (*mode for MPDC*)
|
||||
mcDIR_INDEPENDENT_SPEED_AX_POS : UINT := 260; (*mode for MPDC*)
|
||||
mcDISTANCE_BASED : UINT := 0; (*basis for cam movement (e.g. for MC_BR_CamTransition)*)
|
||||
mcDITHER : USINT := 32; (*setup mode*)
|
||||
mcDITHER2 : USINT := 35; (*setup mode*)
|
||||
mcEDGE_SENSITIVE : USINT := 4; (*additional mode for trigger event*)
|
||||
mcENABLE : UINT := 2;
|
||||
mcENABLE_LIMIT_NEG : INT := 5; (*PLCopen motion parameter*)
|
||||
mcENABLE_LIMIT_POS : INT := 4; (*PLCopen motion parameter*)
|
||||
mcENABLE_POS_LAG_MONITORING : INT := 6; (*PLCopen motion parameter*)
|
||||
mcENCODER : USINT := 0; (*setup mode*)
|
||||
mcENCODER_POSITION : UINT := 2; (*position source for MPDC*)
|
||||
mcEQUAL : UINT := 2;
|
||||
mcEVERY_RECORD : UINT := 1; (*mode for MC_BR_CyclicRead*)
|
||||
mcEXCEED_PERIOD : USINT := 8; (*movement direction*)
|
||||
mcFB_ERROR : USINT := 2;
|
||||
mcFB_INPUTS : REAL := 255.0; (*option for DefaultMoveParameters*)
|
||||
mcFF : USINT := 32; (*setup, torque mode*)
|
||||
mcFF_NEG_MOVE : UINT := 34; (*setup mode*)
|
||||
mcFF_POS_MOVE : UINT := 33; (*setup mode*)
|
||||
mcFILE : UINT := 1; (*data object type*)
|
||||
mcFILE_BIN : UINT := 0; (*binary format*)
|
||||
mcFILE_CSV : UINT := 1; (*CSV format*)
|
||||
mcFILE_TXT : UINT := 2; (*text format*)
|
||||
mcFINISH : UINT := 282;
|
||||
mcFIRST_RM : UINT := 0;
|
||||
mcFIRST_TRIGGER : UINT := 2;
|
||||
mcFLUX : USINT := 1; (*setup mode*)
|
||||
mcGE : UINT := 6;
|
||||
mcGET_BRAKE_STATUS : USINT := 16; (*brake command*)
|
||||
mcGREATER : UINT := 4;
|
||||
mcHARMONIC_COMBINATION : UINT := 8; (*motion rule*)
|
||||
mcHOLDOFF_DISTANCE : UINT := 16384;
|
||||
mcHOME_ABS_SWITCH : USINT := 2; (*homing mode*)
|
||||
mcHOME_ABSOLUTE : USINT := 4; (*homing mode*)
|
||||
mcHOME_ABSOLUTE_CORR : USINT := 6; (*homing mode*)
|
||||
mcHOME_AXIS_REF : USINT := 12; (*homing mode *)
|
||||
mcHOME_BLOCK_DS : USINT := 14; (*homing mode *)
|
||||
mcHOME_BLOCK_TORQUE : USINT := 13; (*homing mode *)
|
||||
mcHOME_DCM : USINT := 9; (*homing mode*)
|
||||
mcHOME_DCM_CORR : USINT := 10; (*homing mode*)
|
||||
mcHOME_DEFAULT : USINT := 0; (*homing mode*)
|
||||
mcHOME_DIRECT : USINT := 1; (*homing mode*)
|
||||
mcHOME_LIMIT_SWITCH : USINT := 3; (*homing mode*)
|
||||
mcHOME_REF_PULSE : USINT := 5; (*homing mode*)
|
||||
mcHOME_RESTORE_POS : USINT := 11; (*homing mode*)
|
||||
mcHOME_SET_PHASE : USINT := 7; (*homing mode*)
|
||||
mcHOME_SWITCH_GATE : USINT := 8; (*homing mode*)
|
||||
mcHORIZONTAL : USINT := 0; (*setup option for controller setup*)
|
||||
mcIDENTIFICATION : UINT := 10; (*setup mode *)
|
||||
mcIMMEDIATE : UINT := 0; (*mode for MC_BR_RegMarkCalc001, StartMode for MC_BR_CrossCutterControl, *)
|
||||
mcIN_WINDOW : USINT := 20; (*trigger event mode*)
|
||||
mcINC : USINT := 2; (*encoder type*)
|
||||
mcINC_ABS : USINT := 4; (*encoder type*)
|
||||
mcINC_REF : USINT := 3; (*encoder type*)
|
||||
mcINCLINED_SINE_CURVE : UINT := 5; (*motion rule*)
|
||||
mcINTERVAL_EVENT : UINT := 16;
|
||||
mcINVERSE : USINT := 255; (*encoder count direction*)
|
||||
mcIPL_LINEAR : USINT := 1; (*interpolation mode*)
|
||||
mcIPL_OFF : USINT := 0; (*interpolation mode*)
|
||||
mcIPL_QUADRATIC : USINT := 2; (*interpolation mode*)
|
||||
mcIPL_QUADRATIC_NO_OVERSHOOT : USINT := 4; (*interpolation mode*)
|
||||
mcISQ_F1_NOTCH : UINT := 128; (*setup mode*)
|
||||
mcISQ_F2_NOTCH : UINT := 256; (*setup mode*)
|
||||
mcISQ_F3_NOTCH : UINT := 512; (*setup mode*)
|
||||
mcISQ_RIPPLE : UINT := 20; (*setup mode*)
|
||||
mcLAST_POINT : UINT := 0; (*motion rule*)
|
||||
mcLEAD_IN : UINT := 2;
|
||||
mcLEAD_OUT : UINT := 4;
|
||||
mcLENGTH_ONLY : UINT := 32;
|
||||
mcLIMIT : USINT := 40; (*torque mode*)
|
||||
mcLIMIT_PARAMETERS : REAL := 1.0; (*option for DefaultMoveParameters*)
|
||||
mcLINEAR_CAM : USINT := 253; (*predefined 1:1 cam profile for MC_BR_CamDwell*)
|
||||
mcLINEAR_CAM_NON_PERIODIC : USINT := 254; (*for predifined 1:1 cam profile*)
|
||||
mcLINEAR_CAM_PERIODIC : USINT := 255; (*for predefined 1:1 cam profile*)
|
||||
mcLOAD : UINT := 276; (*trace command*)
|
||||
mcMANUAL_SEARCH : UINT := 64;
|
||||
mcMASTER_DISTANCE_BASED : UINT := 3; (*basis for movement profile (e.g. for MC_BR_Offset or MC_BR_Phasing)*)
|
||||
mcMASTER_INTERVAL : USINT := 0; (*start mode*)
|
||||
mcMASTER_POSITION : UINT := 256; (*additional basis for movement profile (e.g. for MC_BR_Offset), StartMode for MC_BR_CrossCutterControl*)
|
||||
mcMASTER_POSITION_BASED : UINT := 2; (*basis for movement profile (e.g. for MC_BR_Offset or MC_BR_Phasing)*)
|
||||
mcMAX_ACCELERATION_APPL : INT := 13; (*PLCopen motion parameter*)
|
||||
mcMAX_ACCELERATION_SYSTEM : INT := 12; (*PLCopen motion parameter*)
|
||||
mcMAX_DECELERATION_APPL : INT := 15; (*PLCopen motion parameter*)
|
||||
mcMAX_DECELERATION_SYSTEM : INT := 14; (*PLCopen motion parameter*)
|
||||
mcMAX_IV_TIME : USINT := 8; (*additional mode for power evaluation*)
|
||||
mcMAX_JERK : INT := 16; (*PLCopen motion parameter*)
|
||||
mcMAX_LOAD_SYSTEM : INT := 1015; (*PLCopen motion parameter*)
|
||||
mcMAX_POSITION_CHANGE : INT := 1016; (*PLCopen motion parameter*)
|
||||
mcMAX_POSITION_LAG : INT := 7; (*PLCopen motion parameter*)
|
||||
mcMAX_SLAVE_COMP_DISTANCE_NEG : UINT := 4; (*mode for automat compensation check*)
|
||||
mcMAX_SLAVE_COMP_DISTANCE_POS : UINT := 3; (*mode for automat compensation check*)
|
||||
mcMAX_VELOCITY_APPL : INT := 9; (*PLCopen motion parameter*)
|
||||
mcMAX_VELOCITY_SYSTEM : INT := 8; (*PLCopen motion parameter*)
|
||||
mcMIDDLE : USINT := 5;
|
||||
mcMIN_MASTER_COMP_DISTANCE : UINT := 2; (*mode for automat compensation check*)
|
||||
mcMODIFIED_ACCEL_TRAPEZOID : UINT := 6; (*motion rule*)
|
||||
mcMODIFIED_SINE_CURVE : UINT := 7; (*motion rule*)
|
||||
mcMOTOR : UINT := 258; (*switch on simulation mode*)
|
||||
mcMOVE_ACCELERATION_NEG : INT := 1005; (*PLCopen motion parameter*)
|
||||
mcMOVE_ACCELERATION_POS : INT := 1003; (*PLCopen motion parameter*)
|
||||
mcMOVE_CYCL_POS_IPL_MODE : INT := 1010; (*PLCopen motion parameter*)
|
||||
mcMOVE_CYCL_VEL_IPL_MODE : INT := 1011; (*PLCopen motion parameter*)
|
||||
mcMOVE_DECELERATION_NEG : INT := 1006; (*PLCopen motion parameter*)
|
||||
mcMOVE_DECELERATION_POS : INT := 1004; (*PLCopen motion parameter*)
|
||||
mcMOVE_VELOCITY_NEG : INT := 1002; (*PLCopen motion parameter*)
|
||||
mcMOVE_VELOCITY_POS : INT := 1001; (*PLCopen motion parameter*)
|
||||
mcMULTI_AXIS_TRACE : UDINT := 0; (*parameter trace type*)
|
||||
mcN_EDGE : USINT := 1;
|
||||
mcNEGATIVE_DIR : USINT := 1; (*movement direction*)
|
||||
mcNET_TRACE_GLOBAL : UDINT := 0; (*network trace type*)
|
||||
mcNETWORK_CYCLE_TIME: INT := 1017; (*PLCopen motion parameter*)
|
||||
mcNO_CHANGE_COMP : USINT := 2;
|
||||
mcNO_EVENTS : USINT := 253; (*event index*)
|
||||
mcNO_STATES : USINT := 253;
|
||||
mcNO_PARAMS : USINT := 253; (*parameter index*)
|
||||
mcNO_POSITION : USINT := 0;
|
||||
mcNO_START_COMP : USINT := 1;
|
||||
mcNO_TEXT : UINT := 0; (*no error text determination active*)
|
||||
mcNON_PERIODIC : BOOL := FALSE; (*cam profile mode*)
|
||||
mcNOT_AXIS_RELATED : UDINT := 16#FFFFFFFF;
|
||||
mcNULL : UINT := 1;
|
||||
mcOFF : BOOL := FALSE;
|
||||
mcON : BOOL := TRUE;
|
||||
mcONCE : UINT := 1;
|
||||
mcONE_RECORD : UINT := 0; (*mode for MC_BR_CyclicRead*)
|
||||
mcONLY_EVENTS : USINT := 254; (*event index*)
|
||||
mcONLY_PSM : USINT := 1; (*power evaluation mode*)
|
||||
mcOPEN : USINT := 1;
|
||||
mcOPTIMIZED_ACCELERATION : UINT := 768; (*interpolation rule*)
|
||||
mcOPTIMIZED_VELOCITY : UINT := 512; (*interpolation rule*)
|
||||
mcOUT_WINDOW : USINT := 30; (*trigger event mode*)
|
||||
mcOVERRIDE : INT := 1000; (*PLCopen motion parameter*)
|
||||
mcP_EDGE : USINT := 0;
|
||||
mcPASSIVE : UINT := 4; (*setup mode*)
|
||||
mcPERIODIC : BOOL := TRUE; (*cam profile mode*)
|
||||
mcPOSITION : USINT := 1; (*setup mode*)
|
||||
mcPOSITIVE_DIR : USINT := 0; (*movement direction*)
|
||||
mcQUADRATIC_PARABOLA : UINT := 2; (*motion rule*)
|
||||
mcQUEUED : UINT := 1;
|
||||
mcRELATIVE : USINT := 1; (*start mode*)
|
||||
mcRELATIVE_NO_RESET : USINT := 3; (*start mode*)
|
||||
mcRESET : UINT := 320; (*trace command*)
|
||||
mcRESET_RING_STARTIDX : UINT := 4416; (*trace command (0x1000 + 0x0140)*)
|
||||
mcRESTART : UINT := 273; (*StartMode for MC_BR_CrossCutterControl*)
|
||||
mcREVERSE : UINT := 8;
|
||||
mcSATURATION : USINT := 30; (*setup mode*)
|
||||
mcSAVE : UINT := 341; (*trace command*)
|
||||
mcSAVE_RING_STARTIDX : UINT := 4437; (*trace command (0x1000 + 0x0155)*)
|
||||
mcSE : UINT := 3;
|
||||
mcSET_GEN_ONLY : UINT := 1024; (*simulation with only set value generation*)
|
||||
mcSET_OFFSET : USINT := 34; (*setup mode*)
|
||||
mcSET_POSITION : UINT := 0; (*position source for MPDC*)
|
||||
mcSHIFT_FROM_EXPECTED : UINT := 50; (*input for MC_BR_TouchProbe*)
|
||||
mcSHIFT_FROM_RESULT : UINT := 49; (*input for MC_BR_TouchProbe*)
|
||||
mcSHORTEST_WAY : USINT := 3; (*synchronization mode, movement direction*)
|
||||
mcSIGNAL_CHIRP : UINT := 1; (*excitation signal type for controller setup*)
|
||||
mcSIGNAL_CHIRP_TRAPEZOID : UINT := 2; (*excitation signal type for controller setup*)
|
||||
mcSIGNAL_PRBS : UINT := 0; (*excitation signal type for controller setup*)
|
||||
mcSIMPLE_SINE_CURVE : UINT := 3; (*motion rule*)
|
||||
mcSIMULATION_INIT : UINT := 512; (*initialize simulation parameters*)
|
||||
mcSIMULATION_OFF : UINT := 259; (*switch off simulation mode*)
|
||||
mcSIMULATION_ON : UINT := 258; (*switch on simulation mode*)
|
||||
mcSIMULATION_READ : UINT := 265; (*read calculated simulation parameters*)
|
||||
mcSLAVE_POSITION : UINT := 0; (*additional basis for movement profile (e.g. for MC_BR_Offset)*)
|
||||
mcSLOW_DOWN : USINT := 5; (*synchronization mode*)
|
||||
mcSMALLER : UINT := 1;
|
||||
mcSPEED : USINT := 2; (*setup mode*)
|
||||
mcSTANDARD : USINT := 0; (*encoder count direction*)
|
||||
mcSTART : UINT := 260;
|
||||
mcSTART_N_FLANK : UINT := 128; (*start MPDC at negative flank*)
|
||||
mcSTART_ONLY : USINT := 3; (*power evaluation mode*)
|
||||
mcSTART_P_FLANK : UINT := 0; (*start MPDC at positive flank*)
|
||||
mcSTEPPER : USINT := 31; (*setup mode*)
|
||||
mcSTOP : UINT := 261;
|
||||
mcSTOP_INDEX : INT := 1013; (*PLCopen motion parameter*)
|
||||
mcSTRAIGHT_LINE : UINT := 1; (*motion rule*)
|
||||
mcSW_END_ACTIVE : REAL := 0.0; (*SW end monitoring mode*)
|
||||
mcSW_END_IGNORE : REAL := 1.0; (*SW end monitoring mode*)
|
||||
mcSW_END_MONITORING : INT := 1014; (*PLCopen motion parameter*)
|
||||
mcSW_END_SPF : REAL := 2.0; (*SW end monitoring mode*)
|
||||
mcSW_LIMIT_NEG : INT := 3; (*PLCopen motion parameter*)
|
||||
mcSW_LIMIT_POS : INT := 2; (*PLCopen motion parameter*)
|
||||
mcSWITCH_OFF : UINT := 259; (*trace command*)
|
||||
mcSWITCH_ON : UINT := 258; (*trace command*)
|
||||
mcT_FILTER : UINT := 64; (*setup mode*)
|
||||
mcT_FILTER_2 : UINT := 65; (*setup mode*)
|
||||
mcTEST : UINT := 31; (*setup mode*)
|
||||
mcTEXT : UINT := 1; (*error text determination active*)
|
||||
mcTIME_BASED : UINT := 1; (*basis for movement profile (e.g. for MC_BR_Offset or MC_BR_Phasing)*)
|
||||
mcTIME_LIMIT : USINT := 8; (*enable time dependent switch off of function*)
|
||||
mcTRACE_DELAY : USINT := 6; (*trace status*)
|
||||
mcTRACE_FINISHED : USINT := 1; (*trace status*)
|
||||
mcTRACE_REST : USINT := 5; (*trace status*)
|
||||
mcTRACE_RING : USINT := 4; (*trace status*)
|
||||
mcTRACE_STARTED : USINT := 20; (*trace status*)
|
||||
mcTRACE_TIME : USINT := 2; (*trace status*)
|
||||
mcTRACE_TRIGGER : USINT := 3; (*trace status*)
|
||||
mcTRANSITION_OFF : UINT := 0;
|
||||
mcTRANSITION_ON : UINT := 1;
|
||||
mcTUNE_FBCTRL_MODEL_1MASS : UINT := 12288; (*setup mode*)
|
||||
mcTUNE_FBCTRL_MODEL_2MASS : UINT := 8192; (*setup mode*)
|
||||
mcTUNE_MODEL_2MASS : UINT := 32768; (*setup mode*)
|
||||
mcTUNE_STANDSTILL : USINT := 0; (*constant for OperatingPoint*)
|
||||
mcTUNE_TN : UINT := 16; (*setup mode*)
|
||||
mcTUNE_V_CONSTANT : USINT := 1; (*constant for OperatingPoint*)
|
||||
mcUNEQUAL : UINT := 5;
|
||||
mcUPDATE_PERIOD : UINT := 16#8000; (*input for MC_BR_TouchProbe*)
|
||||
mcUSE_AXIS_PERIOD : UINT := 16#4000; (*input for MC_BR_TouchProbe*)
|
||||
mcUSE_FILTER_PAR : UINT := 4; (*setup mode *)
|
||||
mcUSE_FIRST_TRIGGER_POS : UINT := 64; (*additional input for MC_BR_TouchProbe*)
|
||||
mcUSE_STOP_COMP : USINT := 4;
|
||||
mcUSE_TN : UINT := 8; (*setup mode*)
|
||||
mcV_LIMIT_CALC : USINT := 4; (*recalculate speed limit depending on user setting*)
|
||||
mcV_LIMIT_OFF : USINT := 2; (*disable speed limit*)
|
||||
mcVELOCITY_CONTROL : UINT := 4; (*basis for movement profile (e.g. for MC_BR_Offset or MC_BR_Phasing)*)
|
||||
mcVERTICAL : USINT := 1; (*setup option for controller setup*)
|
||||
mcWITH_PARAM : USINT := 2; (*power evaluation mode*)
|
||||
mcWITHIN_PERIOD : USINT := 6; (*synchronization mode*)
|
||||
mcWITHOUT_PERIOD : UINT := 4; (*input for MC_BR_TouchProbe*)
|
||||
mcWITH_FF : USINT := 0; (*torque limit mode*)
|
||||
mcWITHOUT_FF : USINT := 1; (*torque limit mode*)
|
||||
mcWRAP : UINT := 2;
|
||||
mcWRITE_DIRECT : UINT := 256; (*cyclic write mode*)
|
||||
END_VAR
|
||||
14
Logical/Libraries/Acp10_MC/binary.lby
Normal file
14
Logical/Libraries/Acp10_MC/binary.lby
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio FileVersion="4.9"?>
|
||||
<Library Version="5.14.2" SubType="binary" Description="PLCopen Motion Control function blocks" xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>acp10_mc.fun</File>
|
||||
<File>acp10_mc.typ</File>
|
||||
<File>acp10_mc.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="Sys_lib" FromVersion="0.00.0" />
|
||||
<Dependency ObjectName="Brsystem" FromVersion="0.00.0" />
|
||||
<Dependency ObjectName="Acp10man" FromVersion="5.14.2" ToVersion="5.14.2" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
2187
Logical/Libraries/Acp10man/Acp10err-de.txt
Normal file
2187
Logical/Libraries/Acp10man/Acp10err-de.txt
Normal file
File diff suppressed because it is too large
Load Diff
2187
Logical/Libraries/Acp10man/Acp10err-en.txt
Normal file
2187
Logical/Libraries/Acp10man/Acp10err-en.txt
Normal file
File diff suppressed because it is too large
Load Diff
1314
Logical/Libraries/Acp10man/Acp10man.typ
Normal file
1314
Logical/Libraries/Acp10man/Acp10man.typ
Normal file
File diff suppressed because it is too large
Load Diff
2310
Logical/Libraries/Acp10man/Acp10par-de.txt
Normal file
2310
Logical/Libraries/Acp10man/Acp10par-de.txt
Normal file
File diff suppressed because it is too large
Load Diff
2310
Logical/Libraries/Acp10man/Acp10par-en.txt
Normal file
2310
Logical/Libraries/Acp10man/Acp10par-en.txt
Normal file
File diff suppressed because it is too large
Load Diff
11
Logical/Libraries/Acp10man/Binary.lby
Normal file
11
Logical/Libraries/Acp10man/Binary.lby
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio FileVersion="4.9"?>
|
||||
<Library Version="5.14.2" SubType="Binary" Description="Motion Control Manager" xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>Acp10man.typ</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="Acp10par" FromVersion="5.14.2" ToVersion="5.14.2" />
|
||||
<Dependency ObjectName="Ncglobal" FromVersion="5.14.2" ToVersion="5.14.2" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
BIN
Logical/Libraries/Acp10man/SG4/ARM/acp10man.br
Normal file
BIN
Logical/Libraries/Acp10man/SG4/ARM/acp10man.br
Normal file
Binary file not shown.
BIN
Logical/Libraries/Acp10man/SG4/IA32/acp10man.br
Normal file
BIN
Logical/Libraries/Acp10man/SG4/IA32/acp10man.br
Normal file
Binary file not shown.
BIN
Logical/Libraries/Acp10man/SG4/Powerlink/acp10sys.br
Normal file
BIN
Logical/Libraries/Acp10man/SG4/Powerlink/acp10sys.br
Normal file
Binary file not shown.
1483
Logical/Libraries/Acp10man/SG4/acp10man.h
Normal file
1483
Logical/Libraries/Acp10man/SG4/acp10man.h
Normal file
File diff suppressed because it is too large
Load Diff
BIN
Logical/Libraries/Acp10man/acp10bsl.br
Normal file
BIN
Logical/Libraries/Acp10man/acp10bsl.br
Normal file
Binary file not shown.
1868
Logical/Libraries/Acp10par/Acp10par.var
Normal file
1868
Logical/Libraries/Acp10par/Acp10par.var
Normal file
File diff suppressed because it is too large
Load Diff
7
Logical/Libraries/Acp10par/Binary.lby
Normal file
7
Logical/Libraries/Acp10par/Binary.lby
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio FileVersion="4.9"?>
|
||||
<Library Version="5.14.2" SubType="Binary" Description="ACOPOS Parameters" xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>Acp10par.var</File>
|
||||
</Files>
|
||||
</Library>
|
||||
BIN
Logical/Libraries/Acp10par/SG4/ARM/acp10par.br
Normal file
BIN
Logical/Libraries/Acp10par/SG4/ARM/acp10par.br
Normal file
Binary file not shown.
BIN
Logical/Libraries/Acp10par/SG4/IA32/acp10par.br
Normal file
BIN
Logical/Libraries/Acp10par/SG4/IA32/acp10par.br
Normal file
Binary file not shown.
1867
Logical/Libraries/Acp10par/SG4/acp10par.h
Normal file
1867
Logical/Libraries/Acp10par/SG4/acp10par.h
Normal file
File diff suppressed because it is too large
Load Diff
307
Logical/Libraries/ArEventLog/ArEventLog.fun
Normal file
307
Logical/Libraries/ArEventLog/ArEventLog.fun
Normal file
@@ -0,0 +1,307 @@
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogCreate (*creates an event log module; asynchronous execution *)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Name : STRING[256]; (*name of the event log module*)
|
||||
Size : UDINT; (*size of the event log module*)
|
||||
Persistence : USINT; (*persistence type of the log module*)
|
||||
Info : UDINT; (*format of the additional data*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution running*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogAsyncInternalType;(*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogDelete (*deletes an event log module; asynchronous execution *)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution running*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogAsyncInternalType;(*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogGetIdent (*gets identifier of an event log module*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Name : STRING[256]; (*name of the event log module*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
Ident : ArEventLogIdentType; (*identifier of the event log module*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogWrite (*writes a log entry to an event log module*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module to be written*)
|
||||
EventID : DINT; (*event id of the log entry*)
|
||||
OriginRecordID : ArEventLogRecordIDType; (*record id of basic cause of error/warning, or 0*)
|
||||
ObjectID : STRING[36]; (*object id - string of maximum 35 characters, string length of 0 object id is generated internally*)
|
||||
AddDataSize : UDINT; (*size of the additional data, or 0 (no additional data)*)
|
||||
AddDataFormat : USINT; (*format of the additional data*)
|
||||
AddData : UDINT; (*additional data of the entry given as pointer, or 0 (no additional data)*)
|
||||
TimeStamp : UDINT; (*external timestamp given as pointer to ArEventLogTimeStampType, or 0 (timestamp is taken internally)*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
RecordID : ArEventLogRecordIDType; (*id of current record*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogGetLatestRecordID (*gets latest record id*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module to be written*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
RecordID : ArEventLogRecordIDType; (*latest record id to read*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogGetPreviousRecordID (*gets previous record id*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module to be written*)
|
||||
RecordID : ArEventLogRecordIDType; (*current record id*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
PrevRecordID : ArEventLogRecordIDType; (*previous record id to read*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogRead (*reads a log entry from an event log module*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module to be written*)
|
||||
RecordID : ArEventLogRecordIDType; (*record id to read*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
EventID : DINT; (*event id of the log entry*)
|
||||
OriginRecordID : ArEventLogRecordIDType; (*record id of basic cause of error/warning, or 0*)
|
||||
AddDataFormat : USINT; (*format of the additional data*)
|
||||
AddDataSize : UDINT; (*size of the additional data*)
|
||||
TimeStamp : ArEventLogTimeStampType; (*timestamp*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogReadDescription (*reads a description of an event id*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module to be written*)
|
||||
RecordID : ArEventLogRecordIDType; (*record id to read*)
|
||||
LanguageCode : ArEventLogLanguageCodeType;(*language id of description*)
|
||||
Qualifier : STRING[250]; (*additional qualifier - reserved for future use*)
|
||||
TextBuffer : UDINT; (*buffer for description*)
|
||||
TextBufferSize : UDINT; (*maximum description size*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Busy : BOOL; (*execution running*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
TextSize : UDINT; (*size of description (including 0-termination)*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogAsyncInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogReadErrorNumber (*reads an error number log entry from an event log module*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module to be written*)
|
||||
RecordID : ArEventLogRecordIDType; (*record id to read*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
ErrorNumber : UDINT; (*error number of the log entry*)
|
||||
Severity : USINT; (*severity of the log entry*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogReadAddData (*reads the additional data from an event log module*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module to be written*)
|
||||
RecordID : ArEventLogRecordIDType; (*record id to read*)
|
||||
AddData : UDINT; (*buffer for additional data given as pointer*)
|
||||
BytesToRead : UDINT; (*buffer size for additional data*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution status: see help*)
|
||||
AddDataSize : UDINT; (*size of the additional data*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArEventLogReadObjectID (*reads the object id from an event log module*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*enables execution*)
|
||||
Ident : ArEventLogIdentType; (*ident for the event log module to be written*)
|
||||
RecordID : ArEventLogRecordIDType; (*record id to read*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution done*)
|
||||
Error : BOOL; (*execution failed*)
|
||||
StatusID : DINT; (*execution error: see help*)
|
||||
ObjectID : STRING[36]; (*object id - string of maximum 35 characters*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
Internal : ArEventLogInternalType; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_OK} FUNCTION ArEventLogMakeEventID : DINT (*makes an event id*)
|
||||
VAR_INPUT
|
||||
Severity : USINT; (*severity code of event id*)
|
||||
Facility : UINT; (*facility of event id*)
|
||||
ErrorCode : UINT; (*error code of event id*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION ArEventLogIsError : BOOL (*returns true if event id is an error entry*)
|
||||
VAR_INPUT
|
||||
EventID : DINT; (*event id*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION ArEventLogIsWarning : BOOL (*returns true if event id is a warning entry*)
|
||||
VAR_INPUT
|
||||
EventID : DINT; (*event id*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION ArEventLogIsInformation : BOOL (*returns true if event id is a information entry*)
|
||||
VAR_INPUT
|
||||
EventID : DINT; (*event id*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION ArEventLogIsSuccess : BOOL (*returns true if event id is a success entry*)
|
||||
VAR_INPUT
|
||||
EventID : DINT; (*event id*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION ArEventLogIsCustomerArea : BOOL (*returns true if the customer flag of the event id is set*)
|
||||
VAR_INPUT
|
||||
EventID : DINT; (*event id*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION ArEventLogAddDataInit : BOOL (*returns true on success, false on failure*)
|
||||
VAR_INPUT
|
||||
Buffer : UDINT; (*buffer for additional event log data*)
|
||||
BufferSize : UDINT; (*buffer size*)
|
||||
Format : USINT; (*format of the additional data*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION ArEventLogAddDataUdint : BOOL (*returns true on success, false on failure*)
|
||||
VAR_INPUT
|
||||
Buffer : UDINT; (*buffer for additional event data*)
|
||||
BufferSize : UDINT; (*buffer size*)
|
||||
Value : UDINT; (*UDINT value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION ArEventLogAddDataDint : BOOL (*returns true on success, false on failure*)
|
||||
VAR_INPUT
|
||||
Buffer : UDINT; (*buffer for additional event data*)
|
||||
BufferSize : UDINT; (*buffer size*)
|
||||
Value : DINT; (*DINT value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION ArEventLogAddDataString : BOOL (*returns true on success, false on failure*)
|
||||
VAR_INPUT
|
||||
Buffer : UDINT; (*buffer for additional event log data*)
|
||||
BufferSize : UDINT; (*buffer size*)
|
||||
Value : UDINT; (*STRING value, given as pointer to null terminated string*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION ArEventLogAddDataQuantity : BOOL (*returns true on success, false on failure*)
|
||||
VAR_INPUT
|
||||
Buffer : UDINT; (*buffer for additional event log data*)
|
||||
BufferSize : UDINT; (*buffer size*)
|
||||
Value : LREAL; (*LREAL value*)
|
||||
UnitID : DINT; (*unit ID, -1 no unit*)
|
||||
NamespaceURI : UDINT; (*namespace URI given as pointer to null terminated string, null is default namespace (CEFACT)*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
20
Logical/Libraries/ArEventLog/ArEventLog.typ
Normal file
20
Logical/Libraries/ArEventLog/ArEventLog.typ
Normal file
@@ -0,0 +1,20 @@
|
||||
|
||||
TYPE
|
||||
ArEventLogIdentType : UDINT;
|
||||
ArEventLogRecordIDType : UDINT;
|
||||
ArEventLogLanguageCodeType : STRING[18]; (*String-type for language ID*)
|
||||
|
||||
ArEventLogTimeStampType : STRUCT
|
||||
sec : UDINT; (*seconds*)
|
||||
nsec : UDINT; (*nano seconds*)
|
||||
END_STRUCT;
|
||||
|
||||
ArEventLogAsyncInternalType : STRUCT
|
||||
FBStateCtx : ArFBStateInternalType;
|
||||
AsyFuMaCtx : ArFBAsyFuMaInternalType;
|
||||
END_STRUCT;
|
||||
|
||||
ArEventLogInternalType : STRUCT
|
||||
FBStateCtx : ArFBStateInternalType;
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
42
Logical/Libraries/ArEventLog/ArEventLog.var
Normal file
42
Logical/Libraries/ArEventLog/ArEventLog.var
Normal file
@@ -0,0 +1,42 @@
|
||||
|
||||
VAR CONSTANT
|
||||
arEVENTLOG_ERR_PARAMETER : DINT := -1070586096; (*obsolete - invalid parameters specified*)
|
||||
arEVENTLOG_ERR_RECORDID_INVALID : DINT := -1070586096; (*no record with the given id exists in the logbook*)
|
||||
arEVENTLOG_ERR_EXISTING : DINT := -1070586095; (*obsolete- log module already exists*)
|
||||
arEVENTLOG_ERR_LOGBOOK_EXISTS : DINT := -1070586095; (*a logbook with the given name already exists*)
|
||||
arEVENTLOG_ERR_INTERNAL : DINT := -1070586094; (*unexpected internal error*)
|
||||
arEVENTLOG_ERR_NAME_INVALID : DINT := -1070586093; (*the given name is invalid (empty)*)
|
||||
arEVENTLOG_ERR_SIZE_INVALID : DINT := -1070586092; (*the given size is smaller than the minimum size of a logbook*)
|
||||
arEVENTLOG_ERR_PERSISTENCE_INVAL : DINT := -1070586091; (*the given persistence level is unknown*)
|
||||
arEVENTLOG_ERR_IDENT_INVALID : DINT := -1070586090; (*the given ident is invalid (NULL)*)
|
||||
arEVENTLOG_ERR_IDENT_SYSTEM : DINT := -1070586089; (*access denied, the given ident belongs to a system logbook*)
|
||||
arEVENTLOG_ERR_EVENTID_INVALID : DINT := -1070586088; (*the given event id is no customer event id*)
|
||||
arEVENTLOG_ERR_LOGBOOK_NOT_FOUND : DINT := -1070586087; (*a logbook with the given name does not exist*)
|
||||
arEVENTLOG_ERR_ADDDATA_NULL : DINT := -1070586086; (*the given pointer to the additional data buffer is NULL*)
|
||||
arEVENTLOG_ERR_NO_ERRORNUMBER : DINT := -1070586085; (*the given record is no error number record*)
|
||||
arEVENTLOG_ERR_MODULE_EXISTS : DINT := -1070586084; (*another module with the given name already exists*)
|
||||
arEVENTLOG_ERR_NO_DESCRIPTION : DINT := -1070586083; (*no description was found for the given record id*)
|
||||
arEVENTLOG_ERR_DESCRIPTION_NULL : DINT := -1070586082; (*the given pointer to the description buffer is NULL*)
|
||||
arEVENTLOG_ERR_FORMAT_INVALID : DINT := -1070586081; (*the given format for the additional data is unknown*)
|
||||
|
||||
arEVENTLOG_WRN_NO_EVENTID : DINT := -2144327920; (*the given record is no event id record*)
|
||||
arEVENTLOG_WRN_FORMAT_INVALID : DINT := -2144327919; (*the given format for the additional data is unknown*)
|
||||
arEVENTLOG_WRN_ADDDATA_NULL : DINT := -2144327918; (*the given pointer to the additional data is NULL*)
|
||||
|
||||
arEVENTLOG_INF_SIZE : DINT := 1076897555; (*specified data size too small*)
|
||||
|
||||
arEVENTLOG_SEVERITY_SUCCESS : USINT := 0; (*severity code success*)
|
||||
arEVENTLOG_SEVERITY_INFO : USINT := 1; (*severity code informational*)
|
||||
arEVENTLOG_SEVERITY_WARNING : USINT := 2; (*severity code warning*)
|
||||
arEVENTLOG_SEVERITY_ERROR : USINT := 3; (*severity code error*)
|
||||
|
||||
arEVENTLOG_PERSISTENCE_VOLATILE : USINT := 0; (*persistence volatile*)
|
||||
arEVENTLOG_PERSISTENCE_REMANENT : USINT := 1; (*persistence remanent*)
|
||||
arEVENTLOG_PERSISTENCE_PERSIST : USINT := 2; (*persistence persistent*)
|
||||
|
||||
arEVENTLOG_ADDFORMAT_BINARY : USINT := 0; (*additional data format binary*)
|
||||
arEVENTLOG_ADDFORMAT_TEXT : USINT := 1; (*additional data format series of null terminated strings*)
|
||||
arEVENTLOG_ADDFORMAT_CODED : USINT := 2; (*additional data format binary coded data*)
|
||||
arEVENTLOG_ADDFORMAT_CUST_BASE : USINT := 100; (*additional data format begin of customer area*)
|
||||
arEVENTLOG_ADDFORMAT_CUST_MAX : USINT := 150; (*additional data format end of customer area*)
|
||||
END_VAR
|
||||
12
Logical/Libraries/ArEventLog/Binary.lby
Normal file
12
Logical/Libraries/ArEventLog/Binary.lby
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=3.0.0.0?>
|
||||
<Library xmlns="http://br-automation.co.at/AS/Library" Description="The ArEventLog library can be used to collect additional error information and for further processing.">
|
||||
<Files>
|
||||
<File>ArEventLog.fun</File>
|
||||
<File>ArEventLog.typ</File>
|
||||
<File>ArEventLog.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="runtime" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
354
Logical/Libraries/ArEventLog/SG4/ArEventLog.h
Normal file
354
Logical/Libraries/ArEventLog/SG4/ArEventLog.h
Normal file
@@ -0,0 +1,354 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _AREVENTLOG_
|
||||
#define _AREVENTLOG_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#include <runtime.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define arEVENTLOG_ADDFORMAT_CUST_MAX 150U
|
||||
#define arEVENTLOG_ADDFORMAT_CUST_BASE 100U
|
||||
#define arEVENTLOG_ADDFORMAT_CODED 2U
|
||||
#define arEVENTLOG_ADDFORMAT_TEXT 1U
|
||||
#define arEVENTLOG_ADDFORMAT_BINARY 0U
|
||||
#define arEVENTLOG_PERSISTENCE_PERSIST 2U
|
||||
#define arEVENTLOG_PERSISTENCE_REMANENT 1U
|
||||
#define arEVENTLOG_PERSISTENCE_VOLATILE 0U
|
||||
#define arEVENTLOG_SEVERITY_ERROR 3U
|
||||
#define arEVENTLOG_SEVERITY_WARNING 2U
|
||||
#define arEVENTLOG_SEVERITY_INFO 1U
|
||||
#define arEVENTLOG_SEVERITY_SUCCESS 0U
|
||||
#define arEVENTLOG_INF_SIZE 1076897555
|
||||
#define arEVENTLOG_WRN_ADDDATA_NULL (-2144327918)
|
||||
#define arEVENTLOG_WRN_FORMAT_INVALID (-2144327919)
|
||||
#define arEVENTLOG_WRN_NO_EVENTID (-2144327920)
|
||||
#define arEVENTLOG_ERR_FORMAT_INVALID (-1070586081)
|
||||
#define arEVENTLOG_ERR_DESCRIPTION_NULL (-1070586082)
|
||||
#define arEVENTLOG_ERR_NO_DESCRIPTION (-1070586083)
|
||||
#define arEVENTLOG_ERR_MODULE_EXISTS (-1070586084)
|
||||
#define arEVENTLOG_ERR_NO_ERRORNUMBER (-1070586085)
|
||||
#define arEVENTLOG_ERR_ADDDATA_NULL (-1070586086)
|
||||
#define arEVENTLOG_ERR_LOGBOOK_NOT_FOUND (-1070586087)
|
||||
#define arEVENTLOG_ERR_EVENTID_INVALID (-1070586088)
|
||||
#define arEVENTLOG_ERR_IDENT_SYSTEM (-1070586089)
|
||||
#define arEVENTLOG_ERR_IDENT_INVALID (-1070586090)
|
||||
#define arEVENTLOG_ERR_PERSISTENCE_INVAL (-1070586091)
|
||||
#define arEVENTLOG_ERR_SIZE_INVALID (-1070586092)
|
||||
#define arEVENTLOG_ERR_NAME_INVALID (-1070586093)
|
||||
#define arEVENTLOG_ERR_INTERNAL (-1070586094)
|
||||
#define arEVENTLOG_ERR_LOGBOOK_EXISTS (-1070586095)
|
||||
#define arEVENTLOG_ERR_EXISTING (-1070586095)
|
||||
#define arEVENTLOG_ERR_RECORDID_INVALID (-1070586096)
|
||||
#define arEVENTLOG_ERR_PARAMETER (-1070586096)
|
||||
#else
|
||||
#ifndef _GLOBAL_CONST
|
||||
#define _GLOBAL_CONST _WEAK const
|
||||
#endif
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_ADDFORMAT_CUST_MAX;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_ADDFORMAT_CUST_BASE;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_ADDFORMAT_CODED;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_ADDFORMAT_TEXT;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_ADDFORMAT_BINARY;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_PERSISTENCE_PERSIST;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_PERSISTENCE_REMANENT;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_PERSISTENCE_VOLATILE;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_SEVERITY_ERROR;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_SEVERITY_WARNING;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_SEVERITY_INFO;
|
||||
_GLOBAL_CONST unsigned char arEVENTLOG_SEVERITY_SUCCESS;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_INF_SIZE;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_WRN_ADDDATA_NULL;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_WRN_FORMAT_INVALID;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_WRN_NO_EVENTID;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_FORMAT_INVALID;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_DESCRIPTION_NULL;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_NO_DESCRIPTION;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_MODULE_EXISTS;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_NO_ERRORNUMBER;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_ADDDATA_NULL;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_LOGBOOK_NOT_FOUND;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_EVENTID_INVALID;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_IDENT_SYSTEM;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_IDENT_INVALID;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_PERSISTENCE_INVAL;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_SIZE_INVALID;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_NAME_INVALID;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_INTERNAL;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_LOGBOOK_EXISTS;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_EXISTING;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_RECORDID_INVALID;
|
||||
_GLOBAL_CONST signed long arEVENTLOG_ERR_PARAMETER;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct ArEventLogTimeStampType
|
||||
{ unsigned long sec;
|
||||
unsigned long nsec;
|
||||
} ArEventLogTimeStampType;
|
||||
|
||||
typedef struct ArEventLogAsyncInternalType
|
||||
{ struct ArFBStateInternalType FBStateCtx;
|
||||
struct ArFBAsyFuMaInternalType AsyFuMaCtx;
|
||||
} ArEventLogAsyncInternalType;
|
||||
|
||||
typedef struct ArEventLogInternalType
|
||||
{ struct ArFBStateInternalType FBStateCtx;
|
||||
} ArEventLogInternalType;
|
||||
|
||||
typedef unsigned long ArEventLogIdentType;
|
||||
|
||||
typedef struct ArEventLogCreate
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
plcstring Name[257];
|
||||
unsigned long Size;
|
||||
unsigned char Persistence;
|
||||
unsigned long Info;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
ArEventLogIdentType Ident;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogAsyncInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
} ArEventLogCreate_typ;
|
||||
|
||||
typedef struct ArEventLogDelete
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogAsyncInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
} ArEventLogDelete_typ;
|
||||
|
||||
typedef struct ArEventLogGetIdent
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
plcstring Name[257];
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
ArEventLogIdentType Ident;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Error;
|
||||
} ArEventLogGetIdent_typ;
|
||||
|
||||
typedef unsigned long ArEventLogRecordIDType;
|
||||
|
||||
typedef struct ArEventLogWrite
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
signed long EventID;
|
||||
ArEventLogRecordIDType OriginRecordID;
|
||||
plcstring ObjectID[37];
|
||||
unsigned long AddDataSize;
|
||||
unsigned char AddDataFormat;
|
||||
unsigned long AddData;
|
||||
unsigned long TimeStamp;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
ArEventLogRecordIDType RecordID;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Error;
|
||||
} ArEventLogWrite_typ;
|
||||
|
||||
typedef struct ArEventLogGetLatestRecordID
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
ArEventLogRecordIDType RecordID;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Error;
|
||||
} ArEventLogGetLatestRecordID_typ;
|
||||
|
||||
typedef struct ArEventLogGetPreviousRecordID
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
ArEventLogRecordIDType RecordID;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
ArEventLogRecordIDType PrevRecordID;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Error;
|
||||
} ArEventLogGetPreviousRecordID_typ;
|
||||
|
||||
typedef struct ArEventLogRead
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
ArEventLogRecordIDType RecordID;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
signed long EventID;
|
||||
ArEventLogRecordIDType OriginRecordID;
|
||||
unsigned char AddDataFormat;
|
||||
unsigned long AddDataSize;
|
||||
struct ArEventLogTimeStampType TimeStamp;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Error;
|
||||
} ArEventLogRead_typ;
|
||||
|
||||
typedef plcstring ArEventLogLanguageCodeType[19];
|
||||
|
||||
typedef struct ArEventLogReadDescription
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
ArEventLogRecordIDType RecordID;
|
||||
ArEventLogLanguageCodeType LanguageCode;
|
||||
plcstring Qualifier[251];
|
||||
unsigned long TextBuffer;
|
||||
unsigned long TextBufferSize;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
unsigned long TextSize;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogAsyncInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
} ArEventLogReadDescription_typ;
|
||||
|
||||
typedef struct ArEventLogReadErrorNumber
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
ArEventLogRecordIDType RecordID;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
unsigned long ErrorNumber;
|
||||
unsigned char Severity;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Error;
|
||||
} ArEventLogReadErrorNumber_typ;
|
||||
|
||||
typedef struct ArEventLogReadAddData
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
ArEventLogRecordIDType RecordID;
|
||||
unsigned long AddData;
|
||||
unsigned long BytesToRead;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
unsigned long AddDataSize;
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Error;
|
||||
} ArEventLogReadAddData_typ;
|
||||
|
||||
typedef struct ArEventLogReadObjectID
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArEventLogIdentType Ident;
|
||||
ArEventLogRecordIDType RecordID;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
plcstring ObjectID[37];
|
||||
/* VAR (analog) */
|
||||
struct ArEventLogInternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Error;
|
||||
} ArEventLogReadObjectID_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC void ArEventLogCreate(struct ArEventLogCreate* inst);
|
||||
_BUR_PUBLIC void ArEventLogDelete(struct ArEventLogDelete* inst);
|
||||
_BUR_PUBLIC void ArEventLogGetIdent(struct ArEventLogGetIdent* inst);
|
||||
_BUR_PUBLIC void ArEventLogWrite(struct ArEventLogWrite* inst);
|
||||
_BUR_PUBLIC void ArEventLogGetLatestRecordID(struct ArEventLogGetLatestRecordID* inst);
|
||||
_BUR_PUBLIC void ArEventLogGetPreviousRecordID(struct ArEventLogGetPreviousRecordID* inst);
|
||||
_BUR_PUBLIC void ArEventLogRead(struct ArEventLogRead* inst);
|
||||
_BUR_PUBLIC void ArEventLogReadDescription(struct ArEventLogReadDescription* inst);
|
||||
_BUR_PUBLIC void ArEventLogReadErrorNumber(struct ArEventLogReadErrorNumber* inst);
|
||||
_BUR_PUBLIC void ArEventLogReadAddData(struct ArEventLogReadAddData* inst);
|
||||
_BUR_PUBLIC void ArEventLogReadObjectID(struct ArEventLogReadObjectID* inst);
|
||||
_BUR_PUBLIC signed long ArEventLogMakeEventID(unsigned char Severity, unsigned short Facility, unsigned short ErrorCode);
|
||||
_BUR_PUBLIC plcbit ArEventLogIsError(signed long EventID);
|
||||
_BUR_PUBLIC plcbit ArEventLogIsWarning(signed long EventID);
|
||||
_BUR_PUBLIC plcbit ArEventLogIsInformation(signed long EventID);
|
||||
_BUR_PUBLIC plcbit ArEventLogIsSuccess(signed long EventID);
|
||||
_BUR_PUBLIC plcbit ArEventLogIsCustomerArea(signed long EventID);
|
||||
_BUR_PUBLIC plcbit ArEventLogAddDataInit(unsigned long Buffer, unsigned long BufferSize, unsigned char Format);
|
||||
_BUR_PUBLIC plcbit ArEventLogAddDataUdint(unsigned long Buffer, unsigned long BufferSize, unsigned long Value);
|
||||
_BUR_PUBLIC plcbit ArEventLogAddDataDint(unsigned long Buffer, unsigned long BufferSize, signed long Value);
|
||||
_BUR_PUBLIC plcbit ArEventLogAddDataString(unsigned long Buffer, unsigned long BufferSize, unsigned long Value);
|
||||
_BUR_PUBLIC plcbit ArEventLogAddDataQuantity(unsigned long Buffer, unsigned long BufferSize, double Value, signed long UnitID, unsigned long NamespaceURI);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _AREVENTLOG_ */
|
||||
|
||||
123
Logical/Libraries/ArTextSys/ArTextSys.fun
Normal file
123
Logical/Libraries/ArTextSys/ArTextSys.fun
Normal file
@@ -0,0 +1,123 @@
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArTextSysGetSystemLanguage (*determine preferred user-language*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*start on rising edge*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution successful. FB finished*)
|
||||
Busy : BOOL; (*FB is still active; needs call*)
|
||||
Error : BOOL;
|
||||
StatusID : DINT;
|
||||
LanguageCode : ArTextSysLanguageCodeType;
|
||||
END_VAR
|
||||
VAR (*internals*)
|
||||
Internal : ArTextSysExec1InternalType;
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArTextSysSetSystemLanguage (*update preferred user-language*)
|
||||
VAR_INPUT
|
||||
Execute : BOOL;
|
||||
LanguageCode : ArTextSysLanguageCodeType;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL;
|
||||
Busy : BOOL;
|
||||
Error : BOOL; (*error occurred during operation*)
|
||||
StatusID : DINT;
|
||||
END_VAR
|
||||
VAR (*internals*)
|
||||
Internal : ArTextSysExec1InternalType;
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArTextSysGetNamespaceLanguages
|
||||
VAR_INPUT
|
||||
Execute : BOOL; (*start on rising edge*)
|
||||
Namespace : UDINT; (*string-pointer to namespace*)
|
||||
First : BOOL; (*get first entry; or next*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution successful. FB finished*)
|
||||
Busy : BOOL; (*FB is still active; needs call*)
|
||||
Error : BOOL; (*error occurred during operation*)
|
||||
StatusID : DINT;
|
||||
LanguageCode : ArTextSysLanguageCodeType;
|
||||
EndOfList : BOOL; (*indicator for last found entry*)
|
||||
END_VAR
|
||||
VAR (*internals*)
|
||||
Internal : ArTextSysIter1InternalType;
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArTextSysGetText
|
||||
VAR_INPUT
|
||||
Execute : BOOL;
|
||||
Namespace : UDINT; (*string-pointer to namespace*)
|
||||
TextID : UDINT; (*string-pointer to text-key*)
|
||||
LanguageCode : ArTextSysLanguageCodeType;
|
||||
TextBufferSize : UDINT; (*size of result-buffer to get text*)
|
||||
TextBuffer : UDINT; (*pointer to text result-buffer*)
|
||||
SearchMode : ArTextSysSearchModeEnum;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution successful. FB finished*)
|
||||
Busy : BOOL; (*FB is still active; needs call*)
|
||||
Error : BOOL; (*error occurred during operation*)
|
||||
StatusID : DINT;
|
||||
TextSize : UDINT; (*Length of text in result-buffer*)
|
||||
END_VAR
|
||||
VAR (*internals*)
|
||||
Internal : ArTextSysExec1InternalType;
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArTextSysFormatString
|
||||
VAR_INPUT
|
||||
Execute : BOOL;
|
||||
FormatString : UDINT; (*string-pointer to format-template*)
|
||||
ArgumentCount : UINT; (*count of arguments in list*)
|
||||
ArgumentList : ARRAY[0..9] OF ArTextSysFormatArgumentType;
|
||||
LanguageCode : ArTextSysLanguageCodeType;
|
||||
MeasurementCode : UDINT;
|
||||
TextBufferSize : UDINT; (*size of result-buffer to get text*)
|
||||
TextBuffer : UDINT; (*pointer to result-buffer*)
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution successful. FB finished*)
|
||||
Busy : BOOL; (*FB is still active; needs call*)
|
||||
Error : BOOL; (*error occurred during operation*)
|
||||
StatusID : DINT;
|
||||
TextSize : UDINT; (*Length of text in result-buffer*)
|
||||
END_VAR
|
||||
VAR (*internals*)
|
||||
Internal : ArTextSysExec1InternalType;
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK ArTextSysGetFormattedText
|
||||
VAR_INPUT
|
||||
Execute : BOOL;
|
||||
Namespace : UDINT; (*string-pointer to namespace*)
|
||||
TextID : UDINT; (*string-pointer to text-key*)
|
||||
ArgumentCount : UINT; (*count of arguments in list*)
|
||||
ArgumentList : ARRAY[0..9] OF ArTextSysFormatArgumentType;
|
||||
LanguageCode : ArTextSysLanguageCodeType;
|
||||
MeasurementCode : UDINT;
|
||||
TextBufferSize : UDINT; (*size of result-buffer to get text*)
|
||||
TextBuffer : UDINT; (*pointer to result-buffer*)
|
||||
SearchMode : ArTextSysSearchModeEnum;
|
||||
END_VAR
|
||||
VAR_OUTPUT
|
||||
Done : BOOL; (*execution successful. FB finished*)
|
||||
Busy : BOOL; (*FB is still active; needs call*)
|
||||
Error : BOOL; (*error occurred during operation*)
|
||||
StatusID : DINT;
|
||||
TextSize : UDINT; (*Length of text in result-buffer*)
|
||||
END_VAR
|
||||
VAR (*internals*)
|
||||
Internal : ArTextSysExec1InternalType;
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
32
Logical/Libraries/ArTextSys/ArTextSys.typ
Normal file
32
Logical/Libraries/ArTextSys/ArTextSys.typ
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
TYPE
|
||||
ArTextSysLanguageCodeType : STRING[18]; (*String-type for language ID*)
|
||||
|
||||
(*Enumeration for ArTextSysGetText-FUBs*)
|
||||
ArTextSysSearchModeEnum :
|
||||
(
|
||||
arTEXTSYS_SEARCH_FALLBACK_SUBST, (*with fallback-languages or substitute*)
|
||||
arTEXTSYS_SEARCH_LANGUAGE_ONLY, (*search for matching language only*)
|
||||
arTEXTSYS_SEARCH_FALLBACK (*with fallback-searches, no substitute*)
|
||||
);
|
||||
|
||||
(*argument-properties for formatter*)
|
||||
ArTextSysFormatArgumentType : STRUCT
|
||||
Datatype : UINT; (*type of argument; eg. IEC_DATATYPE_UDINT*)
|
||||
Data : UDINT; (*pointer to Argument*)
|
||||
UnitNamespace : UDINT; (*namespace of UnitID; default OPC-UA recommended*)
|
||||
UnitID : UDINT;
|
||||
END_STRUCT;
|
||||
|
||||
(*Internal type(s) for FUB-processing*)
|
||||
ArTextSysExec1InternalType : STRUCT
|
||||
i_serno : UINT;
|
||||
i_state : UINT;
|
||||
Result : DINT;
|
||||
END_STRUCT;
|
||||
|
||||
ArTextSysIter1InternalType : STRUCT
|
||||
i_base : ArTextSysExec1InternalType;
|
||||
m_iter : DINT; (*internal iterator; eg. ArTextSysGetNamespaceLanguages*)
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
21
Logical/Libraries/ArTextSys/ArTextSys.var
Normal file
21
Logical/Libraries/ArTextSys/ArTextSys.var
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
VAR CONSTANT
|
||||
arTEXTSYS_ERR_OUT_OF_MEMORY : UDINT := 16#C030_280A; (*fatal error: out of memory*)
|
||||
arTEXTSYS_ERR_INVALID_ARG : UDINT := 16#8030_280B; (*provided argument is invalid*)
|
||||
arTEXTSYS_ERR_FAILED : UDINT := 16#8030_280C; (*internal operation failure*)
|
||||
arTEXTSYS_ERR_ACCESS_DENIED : UDINT := 16#8030_280D; (*resource-access denied*)
|
||||
arTEXTSYS_ERR_INVALID_HANDLE : UDINT := 16#8030_280E; (*invalid handle detected*)
|
||||
|
||||
arTEXTSYS_ERR_CANT_OPEN_TEXTDB : UDINT := 16#8030_2811; (*opening of text-db failed*)
|
||||
arTEXTSYS_INF_ALREADY_OPENED : DINT := 16#4030_2812; (*text-db is open and ready*)
|
||||
arTEXTSYS_ERR_TEXTDB_SCHEMA : UDINT := 16#8030_2813; (*unrecognised text-db schema or structure*)
|
||||
arTEXTSYS_ERR_TEXTDB_READER : UDINT := 16#8030_2814; (*read of open text-db failed*)
|
||||
arTEXTSYS_ERR_TEXTDB_INTERNAL : UDINT := 16#8030_2815; (*other kind of text-db error*)
|
||||
arTEXTSYS_INF_NOT_SET_DURABLE : DINT := 16#4030_2816; (*configuration-change is not durable*)
|
||||
|
||||
arTEXTSYS_ERR_NO_TEXT_FOUND : UDINT := 16#8030_2818; (*no requested text found*)
|
||||
arTEXTSYS_INF_LANGUAGE_DIFFERS : DINT := 16#4030_281A; (*text-language differs; not in requested language*)
|
||||
arTEXTSYS_INF_SUBSTITUTE_TEXT : DINT := 16#4030_281B; (*no text found, but substitute-text provided*)
|
||||
arTEXTSYS_ERR_NOT_EXISTS : UDINT := 16#8030_281C; (*record not found; doesn't exist*)
|
||||
arTEXTSYS_ERR_END_REACHED : UDINT := 16#8030_281D; (*no further suitable entry found*)
|
||||
END_VAR
|
||||
9
Logical/Libraries/ArTextSys/Binary.lby
Normal file
9
Logical/Libraries/ArTextSys/Binary.lby
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=3.0.0.0?>
|
||||
<Library xmlns="http://br-automation.co.at/AS/Library" Description="IEC Text-System Library.">
|
||||
<Files>
|
||||
<File>ArTextSys.fun</File>
|
||||
<File>ArTextSys.typ</File>
|
||||
<File>ArTextSys.var</File>
|
||||
</Files>
|
||||
</Library>
|
||||
221
Logical/Libraries/ArTextSys/SG4/ArTextSys.h
Normal file
221
Logical/Libraries/ArTextSys/SG4/ArTextSys.h
Normal file
@@ -0,0 +1,221 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ARTEXTSYS_
|
||||
#define _ARTEXTSYS_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define arTEXTSYS_ERR_END_REACHED 2150639645U
|
||||
#define arTEXTSYS_ERR_NOT_EXISTS 2150639644U
|
||||
#define arTEXTSYS_INF_SUBSTITUTE_TEXT 1076897819
|
||||
#define arTEXTSYS_INF_LANGUAGE_DIFFERS 1076897818
|
||||
#define arTEXTSYS_ERR_NO_TEXT_FOUND 2150639640U
|
||||
#define arTEXTSYS_INF_NOT_SET_DURABLE 1076897814
|
||||
#define arTEXTSYS_ERR_TEXTDB_INTERNAL 2150639637U
|
||||
#define arTEXTSYS_ERR_TEXTDB_READER 2150639636U
|
||||
#define arTEXTSYS_ERR_TEXTDB_SCHEMA 2150639635U
|
||||
#define arTEXTSYS_INF_ALREADY_OPENED 1076897810
|
||||
#define arTEXTSYS_ERR_CANT_OPEN_TEXTDB 2150639633U
|
||||
#define arTEXTSYS_ERR_INVALID_HANDLE 2150639630U
|
||||
#define arTEXTSYS_ERR_ACCESS_DENIED 2150639629U
|
||||
#define arTEXTSYS_ERR_FAILED 2150639628U
|
||||
#define arTEXTSYS_ERR_INVALID_ARG 2150639627U
|
||||
#define arTEXTSYS_ERR_OUT_OF_MEMORY 3224381450U
|
||||
#else
|
||||
#ifndef _GLOBAL_CONST
|
||||
#define _GLOBAL_CONST _WEAK const
|
||||
#endif
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_END_REACHED;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_NOT_EXISTS;
|
||||
_GLOBAL_CONST signed long arTEXTSYS_INF_SUBSTITUTE_TEXT;
|
||||
_GLOBAL_CONST signed long arTEXTSYS_INF_LANGUAGE_DIFFERS;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_NO_TEXT_FOUND;
|
||||
_GLOBAL_CONST signed long arTEXTSYS_INF_NOT_SET_DURABLE;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_TEXTDB_INTERNAL;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_TEXTDB_READER;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_TEXTDB_SCHEMA;
|
||||
_GLOBAL_CONST signed long arTEXTSYS_INF_ALREADY_OPENED;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_CANT_OPEN_TEXTDB;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_INVALID_HANDLE;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_ACCESS_DENIED;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_FAILED;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_INVALID_ARG;
|
||||
_GLOBAL_CONST unsigned long arTEXTSYS_ERR_OUT_OF_MEMORY;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef enum ArTextSysSearchModeEnum
|
||||
{ arTEXTSYS_SEARCH_FALLBACK_SUBST,
|
||||
arTEXTSYS_SEARCH_LANGUAGE_ONLY,
|
||||
arTEXTSYS_SEARCH_FALLBACK
|
||||
} ArTextSysSearchModeEnum;
|
||||
|
||||
typedef struct ArTextSysFormatArgumentType
|
||||
{ unsigned short Datatype;
|
||||
unsigned long Data;
|
||||
unsigned long UnitNamespace;
|
||||
unsigned long UnitID;
|
||||
} ArTextSysFormatArgumentType;
|
||||
|
||||
typedef struct ArTextSysExec1InternalType
|
||||
{ unsigned short i_serno;
|
||||
unsigned short i_state;
|
||||
signed long Result;
|
||||
} ArTextSysExec1InternalType;
|
||||
|
||||
typedef struct ArTextSysIter1InternalType
|
||||
{ struct ArTextSysExec1InternalType i_base;
|
||||
signed long m_iter;
|
||||
} ArTextSysIter1InternalType;
|
||||
|
||||
typedef plcstring ArTextSysLanguageCodeType[19];
|
||||
|
||||
typedef struct ArTextSysGetSystemLanguage
|
||||
{
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
ArTextSysLanguageCodeType LanguageCode;
|
||||
/* VAR (analog) */
|
||||
struct ArTextSysExec1InternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
} ArTextSysGetSystemLanguage_typ;
|
||||
|
||||
typedef struct ArTextSysSetSystemLanguage
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
ArTextSysLanguageCodeType LanguageCode;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
/* VAR (analog) */
|
||||
struct ArTextSysExec1InternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
} ArTextSysSetSystemLanguage_typ;
|
||||
|
||||
typedef struct ArTextSysGetNamespaceLanguages
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long Namespace;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
ArTextSysLanguageCodeType LanguageCode;
|
||||
/* VAR (analog) */
|
||||
struct ArTextSysIter1InternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
plcbit First;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
plcbit EndOfList;
|
||||
} ArTextSysGetNamespaceLanguages_typ;
|
||||
|
||||
typedef struct ArTextSysGetText
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long Namespace;
|
||||
unsigned long TextID;
|
||||
ArTextSysLanguageCodeType LanguageCode;
|
||||
unsigned long TextBufferSize;
|
||||
unsigned long TextBuffer;
|
||||
enum ArTextSysSearchModeEnum SearchMode;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
unsigned long TextSize;
|
||||
/* VAR (analog) */
|
||||
struct ArTextSysExec1InternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
} ArTextSysGetText_typ;
|
||||
|
||||
typedef struct ArTextSysFormatString
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long FormatString;
|
||||
unsigned short ArgumentCount;
|
||||
struct ArTextSysFormatArgumentType ArgumentList[10];
|
||||
ArTextSysLanguageCodeType LanguageCode;
|
||||
unsigned long MeasurementCode;
|
||||
unsigned long TextBufferSize;
|
||||
unsigned long TextBuffer;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
unsigned long TextSize;
|
||||
/* VAR (analog) */
|
||||
struct ArTextSysExec1InternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
} ArTextSysFormatString_typ;
|
||||
|
||||
typedef struct ArTextSysGetFormattedText
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long Namespace;
|
||||
unsigned long TextID;
|
||||
unsigned short ArgumentCount;
|
||||
struct ArTextSysFormatArgumentType ArgumentList[10];
|
||||
ArTextSysLanguageCodeType LanguageCode;
|
||||
unsigned long MeasurementCode;
|
||||
unsigned long TextBufferSize;
|
||||
unsigned long TextBuffer;
|
||||
enum ArTextSysSearchModeEnum SearchMode;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
signed long StatusID;
|
||||
unsigned long TextSize;
|
||||
/* VAR (analog) */
|
||||
struct ArTextSysExec1InternalType Internal;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit Execute;
|
||||
/* VAR_OUTPUT (digital) */
|
||||
plcbit Done;
|
||||
plcbit Busy;
|
||||
plcbit Error;
|
||||
} ArTextSysGetFormattedText_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC void ArTextSysGetSystemLanguage(struct ArTextSysGetSystemLanguage* inst);
|
||||
_BUR_PUBLIC void ArTextSysSetSystemLanguage(struct ArTextSysSetSystemLanguage* inst);
|
||||
_BUR_PUBLIC void ArTextSysGetNamespaceLanguages(struct ArTextSysGetNamespaceLanguages* inst);
|
||||
_BUR_PUBLIC void ArTextSysGetText(struct ArTextSysGetText* inst);
|
||||
_BUR_PUBLIC void ArTextSysFormatString(struct ArTextSysFormatString* inst);
|
||||
_BUR_PUBLIC void ArTextSysGetFormattedText(struct ArTextSysGetFormattedText* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ARTEXTSYS_ */
|
||||
|
||||
1344
Logical/Libraries/AsARCfg/AsARCfg.fun
Normal file
1344
Logical/Libraries/AsARCfg/AsARCfg.fun
Normal file
File diff suppressed because it is too large
Load Diff
11
Logical/Libraries/AsARCfg/AsARCfg.typ
Normal file
11
Logical/Libraries/AsARCfg/AsARCfg.typ
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
TYPE
|
||||
cfgLease_typ : STRUCT (*lease structure*)
|
||||
name : STRING[8]; (*name of lease (max 8)*)
|
||||
startAdr : STRING[16]; (*start address of lease*)
|
||||
stopAdr : STRING[16]; (*stop address of lease*)
|
||||
subnetMask : STRING[16]; (*subnet mask of lease*)
|
||||
defaultGateway : STRING[16]; (*default gateway of lease*)
|
||||
leaseTimeout : DINT; (*-1 for infinite timeout*)
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
90
Logical/Libraries/AsARCfg/AsARCfg.var
Normal file
90
Logical/Libraries/AsARCfg/AsARCfg.var
Normal file
@@ -0,0 +1,90 @@
|
||||
|
||||
VAR CONSTANT
|
||||
cfgERR_DEVICE_NOT_EXIST : UINT := 29000; (*device doesn't exist or device not configured*)
|
||||
cfgERR_DEVICE_INVALID : UINT := 29001; (*FBK "pDevice" parameter invalid (e.g. pDevice = 0)*)
|
||||
cfgERR_OPTION_INVALID : UINT := 29002; (*FBK "Option" parameter invalid*)
|
||||
cfgERR_VALUE_INVALID : UINT := 29003; (*invalid FBK parameter, error text depends on the function block*)
|
||||
cfgERR_SET_NOT_POSSIBLE : UINT := 29004; (*not possible to set the subnet mask (e.g. DHCP client)*)
|
||||
cfgERR_ARREG : UINT := 29005; (*error in the AR registry*)
|
||||
cfgERR_INANODE_NOT_SUPPORTED : UINT := 29006; (*INA device does not support INA node numbers (e.g. IF1 = RS232)*)
|
||||
cfgERR_FTP_SINIT : UINT := 29007; (*initialization error on FTP server*)
|
||||
cfgERR_FTP_SDOWN : UINT := 29008; (*shutdown error on FTP server*)
|
||||
cfgERR_PARAM_NOT_SET : UINT := 29009; (*default gateway not defined*)
|
||||
cfgERR_SNTP_SERVER : UINT := 29010; (*could not start the SNTP server*)
|
||||
cfgERR_SNTP_CLIENT : UINT := 29011; (*error starting SNTP client (e.g. client already running)*)
|
||||
cfgERR_SNTP_INTERVAL : UINT := 29012; (*invalid FBK parameter - values from 1 to 60 are valid*)
|
||||
cfgERR_SYSTEM : UINT := 29013; (*unexpected system error*)
|
||||
cfgERR_TIMEZONE : UINT := 29014; (*invalid timezone specified*)
|
||||
cfgERR_YEAR_INVALID : UINT := 29015; (*invalid year specified*)
|
||||
cfgERR_CIFS_DOMAIN_INVALID : UINT := 29016; (*cifs domain name not defined *)
|
||||
cfgERR_CIFS_DEFAULTUSER_INVALID : UINT := 29017; (*cifs defaultuser not defined *)
|
||||
cfgERR_INANODE_NUMBER_SET : UINT := 29018; (*could not set the INA node number*)
|
||||
cfgERR_CIFS_DEFAULTPW_INVALID : UINT := 29019; (*cifs default password not defined *)
|
||||
cfgERR_DHCP_SERVER_STARTED : UINT := 29020; (*server is already working*)
|
||||
cfgERR_INTERFACELIST_BUFFER : UINT := 29021; (*interfacelist buffer to small*)
|
||||
cfgERR_LEASES_BUFFER : UINT := 29022; (*leases array to small*)
|
||||
cfgERR_LEASE_EXISTS : UINT := 29023; (*leasename already exists*)
|
||||
cfgERR_LEASE_TIMEOUT : UINT := 29024; (*invalid lease timeout*)
|
||||
cfgERR_DHCP_CONFIG : UINT := 29025; (*DHCP server is not configured*)
|
||||
cfgERR_SDM_FUNCTION_NOT_FOUND : UINT := 29026; (*used arsdm function was not found*)
|
||||
cfgERR_CLEAR_NV_DATA : UINT := 29027; (*could not clear NV data*)
|
||||
cfgERR_FUNCTION_NOT_FOUND : UINT := 29028; (*referenced function was not found*)
|
||||
cfgERR_SDM_DISABLED : UINT := 29029; (*System diagnostics disabled*)
|
||||
cfgERR_WEBSERV_DISABLED : UINT := 29030; (*Web Server disabled*)
|
||||
cfgERR_DHCP_NO_DHCP_IP_OBTAINED : UINT := 29031; (*DHCP activated, but no IP obtained*)
|
||||
cfgERR_NTP_SERVER : UINT := 29032; (*could not start the NTP server*)
|
||||
cfgERR_NTP_CLIENT : UINT := 29033; (*error starting NTP client*)
|
||||
cfgERR_ROUTE_TABLE : UINT := 29034; (*error updating network routing table*)
|
||||
cfgERR_DST : UINT := 29035; (*could not enable or disable automatic daylight saving*)
|
||||
|
||||
cfgETHBAUDRATE_AUTO : UDINT := 0; (*auto-detect*)
|
||||
cfgETHBAUDRATE_10 : UDINT := 10; (*10 MBaud, half-duplex*)
|
||||
cfgETHBAUDRATE_10FD : UDINT := 11; (*10 MBaud, full-duplex*)
|
||||
cfgETHBAUDRATE_10AUTO : UDINT := 12; (*10 MBaud, auto-duplex*)
|
||||
cfgETHBAUDRATE_100 : UDINT := 100; (*100 MBaud, half-duplex*)
|
||||
cfgETHBAUDRATE_100FD : UDINT := 101; (*100 MBaud, full-duplex*)
|
||||
cfgETHBAUDRATE_100AUTO : UDINT := 102; (*100 MBaud, auto-duplex*)
|
||||
cfgETHBAUDRATE_1000FD : UDINT := 1001; (*1 GBaud, full-duplex*)
|
||||
|
||||
cfgOPTION_NON_VOLATILE : UDINT := 1; (*permanently sets parameters*)
|
||||
cfgOPTION_VOLATILE : UDINT := 0; (*temporarily sets parameters*)
|
||||
|
||||
cfgCONFIGMODE_MANUALLY : UDINT := 0; (*manual configuration*)
|
||||
cfgCONFIGMODE_DHCPCLIENT : UDINT := 1; (*DHCP client*)
|
||||
|
||||
cfgOPTION_DISABLE : UDINT := 0; (*disable*)
|
||||
cfgOPTION_ENABLE : UDINT := 1; (*enable*)
|
||||
|
||||
cfgOPTION_WORKGROUP : USINT := 1; (*Domain is Workgroup*)
|
||||
cfgOPTION_NON_WORKGROUP : USINT := 0; (*Domain isn't Workgroup*)
|
||||
|
||||
cfgOPTION_ENABLE_SDM : USINT := 1; (*enable sdm*)
|
||||
cfgOPTION_DISABLE_SDM : USINT := 2; (*disable sdm*)
|
||||
|
||||
cfgSTATUS_SDM_ENABLED : USINT := 1; (*sdm is enabled*)
|
||||
cfgSTATUS_SDM_DISABLED : USINT := 2; (*sdm is disabled*)
|
||||
|
||||
cfgWEB_MODE_GOFORM_DISABLE : UINT := 0; (*Webserver Goform disabled*)
|
||||
cfgWEB_MODE_GOFORM_ENABLE : UINT := 1; (*Webserver Goform enabled*)
|
||||
cfgWEB_MODE_GOFORM_NO_WRITE : UINT := 2; (*Webserver Goform readonly*)
|
||||
|
||||
cfgWEB_MODE_MIME_DEL : UINT := 0; (*Webserver delete MimeType*)
|
||||
cfgWEB_MODE_MIME_ADD : UINT := 1; (*Webserver set MimeType*)
|
||||
|
||||
cfgWEB_MODE_DISABLED : UINT := 0; (*Webserver disabled*)
|
||||
cfgWEB_MODE_ENABLED : UINT := 1; (*Webserver enabled*)
|
||||
|
||||
cfgOPTION_DNS_OFF : USINT := 0; (*disable DNS service*)
|
||||
cfgOPTION_DNS_ON_CONFIG : USINT := 1; (*DNS service using the server address as configured*)
|
||||
cfgOPTION_DNS_ON_DHCP : USINT := 2; (*Get the DNS address from the DHCP server*)
|
||||
|
||||
cfgNTP_START : UINT := 1; (*start NTP server/client*)
|
||||
cfgNTP_STOP : UINT := 0; (*stop NTP server/client*)
|
||||
cfgSTATUS_NTP_ACTIVE : UINT := 1; (*NTP server/client active*)
|
||||
cfgSTATUS_NTP_INACTIVE : UINT := 0; (*NTP server/client inactive*)
|
||||
|
||||
cfgSDM_COLOR_DEFAULT : UDINT := 2147483648; (*sdm default color*)
|
||||
|
||||
cfgDHCP_OPTION_VENDOR_CLASS_ID : USINT := 60; (*DHCP option vendor class identifier*)
|
||||
|
||||
END_VAR
|
||||
12
Logical/Libraries/AsARCfg/Binary.lby
Normal file
12
Logical/Libraries/AsARCfg/Binary.lby
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=3.0.0.0?>
|
||||
<Library xmlns="http://br-automation.co.at/AS/Library" Description="The AsARCfg library supports reading and writing Automation Runtime configurations.">
|
||||
<Files>
|
||||
<File>AsARCfg.fun</File>
|
||||
<File>AsARCfg.typ</File>
|
||||
<File>AsARCfg.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="runtime" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
204
Logical/Libraries/AsARCfg/SG3/AsARCfg.h
Normal file
204
Logical/Libraries/AsARCfg/SG3/AsARCfg.h
Normal file
@@ -0,0 +1,204 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASARCFG_
|
||||
#define _ASARCFG_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#include <runtime.h>
|
||||
|
||||
#ifndef _IEC_CONST
|
||||
#define _IEC_CONST _WEAK const
|
||||
#endif
|
||||
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define cfgSTATUS_SDM_DISABLED 2U
|
||||
#define cfgSTATUS_SDM_ENABLED 1U
|
||||
#define cfgOPTION_DISABLE_SDM 2U
|
||||
#define cfgOPTION_ENABLE_SDM 1U
|
||||
#define cfgOPTION_NON_WORKGROUP 0U
|
||||
#define cfgOPTION_WORKGROUP 1U
|
||||
#define cfgOPTION_ENABLE 1U
|
||||
#define cfgOPTION_DISABLE 0U
|
||||
#define cfgCONFIGMODE_DHCPCLIENT 1U
|
||||
#define cfgCONFIGMODE_MANUALLY 0U
|
||||
#define cfgOPTION_VOLATILE 0U
|
||||
#define cfgOPTION_NON_VOLATILE 1U
|
||||
#define cfgETHBAUDRATE_1000FD 1001U
|
||||
#define cfgETHBAUDRATE_100FD 101U
|
||||
#define cfgETHBAUDRATE_100 100U
|
||||
#define cfgETHBAUDRATE_10FD 11U
|
||||
#define cfgETHBAUDRATE_10 10U
|
||||
#define cfgETHBAUDRATE_AUTO 0U
|
||||
#define cfgERR_CLEAR_NV_DATA 29027U
|
||||
#define cfgERR_SDM_FUNCTION_NOT_FOUND 29026U
|
||||
#define cfgERR_LEASE_TIMEOUT 29024U
|
||||
#define cfgERR_LEASE_EXISTS 29023U
|
||||
#define cfgERR_LEASES_BUFFER 29022U
|
||||
#define cfgERR_INTERFACELIST_BUFFER 29021U
|
||||
#define cfgERR_DHCP_SERVER_STARTED 29020U
|
||||
#define cfgERR_CIFS_DEFAULTPW_INVALID 29019U
|
||||
#define cfgERR_INANODE_NUMBER_SET 29018U
|
||||
#define cfgERR_CIFS_DEFAULTUSER_INVALID 29017U
|
||||
#define cfgERR_CIFS_DOMAIN_INVALID 29016U
|
||||
#define cfgERR_YEAR_INVALID 29015U
|
||||
#define cfgERR_TIMEZONE 29014U
|
||||
#define cfgERR_SYSTEM 29013U
|
||||
#define cfgERR_SNTP_INTERVAL 29012U
|
||||
#define cfgERR_SNTP_CLIENT 29011U
|
||||
#define cfgERR_SNTP_SERVER 29010U
|
||||
#define cfgERR_PARAM_NOT_SET 29009U
|
||||
#define cfgERR_FTP_SDOWN 29008U
|
||||
#define cfgERR_FTP_SINIT 29007U
|
||||
#define cfgERR_INANODE_NOT_SUPPORTED 29006U
|
||||
#define cfgERR_ARREG 29005U
|
||||
#define cfgERR_SET_NOT_POSSIBLE 29004U
|
||||
#define cfgERR_VALUE_INVALID 29003U
|
||||
#define cfgERR_OPTION_INVALID 29002U
|
||||
#define cfgERR_DEVICE_INVALID 29001U
|
||||
#define cfgERR_DEVICE_NOT_EXIST 29000U
|
||||
#else
|
||||
_IEC_CONST unsigned char cfgSTATUS_SDM_DISABLED = 2U;
|
||||
_IEC_CONST unsigned char cfgSTATUS_SDM_ENABLED = 1U;
|
||||
_IEC_CONST unsigned char cfgOPTION_DISABLE_SDM = 2U;
|
||||
_IEC_CONST unsigned char cfgOPTION_ENABLE_SDM = 1U;
|
||||
_IEC_CONST unsigned char cfgOPTION_NON_WORKGROUP = 0U;
|
||||
_IEC_CONST unsigned char cfgOPTION_WORKGROUP = 1U;
|
||||
_IEC_CONST unsigned long cfgOPTION_ENABLE = 1U;
|
||||
_IEC_CONST unsigned long cfgOPTION_DISABLE = 0U;
|
||||
_IEC_CONST unsigned long cfgCONFIGMODE_DHCPCLIENT = 1U;
|
||||
_IEC_CONST unsigned long cfgCONFIGMODE_MANUALLY = 0U;
|
||||
_IEC_CONST unsigned long cfgOPTION_VOLATILE = 0U;
|
||||
_IEC_CONST unsigned long cfgOPTION_NON_VOLATILE = 1U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_1000FD = 1001U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_100FD = 101U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_100 = 100U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_10FD = 11U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_10 = 10U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_AUTO = 0U;
|
||||
_IEC_CONST unsigned short cfgERR_CLEAR_NV_DATA = 29027U;
|
||||
_IEC_CONST unsigned short cfgERR_SDM_FUNCTION_NOT_FOUND = 29026U;
|
||||
_IEC_CONST unsigned short cfgERR_LEASE_TIMEOUT = 29024U;
|
||||
_IEC_CONST unsigned short cfgERR_LEASE_EXISTS = 29023U;
|
||||
_IEC_CONST unsigned short cfgERR_LEASES_BUFFER = 29022U;
|
||||
_IEC_CONST unsigned short cfgERR_INTERFACELIST_BUFFER = 29021U;
|
||||
_IEC_CONST unsigned short cfgERR_DHCP_SERVER_STARTED = 29020U;
|
||||
_IEC_CONST unsigned short cfgERR_CIFS_DEFAULTPW_INVALID = 29019U;
|
||||
_IEC_CONST unsigned short cfgERR_INANODE_NUMBER_SET = 29018U;
|
||||
_IEC_CONST unsigned short cfgERR_CIFS_DEFAULTUSER_INVALID = 29017U;
|
||||
_IEC_CONST unsigned short cfgERR_CIFS_DOMAIN_INVALID = 29016U;
|
||||
_IEC_CONST unsigned short cfgERR_YEAR_INVALID = 29015U;
|
||||
_IEC_CONST unsigned short cfgERR_TIMEZONE = 29014U;
|
||||
_IEC_CONST unsigned short cfgERR_SYSTEM = 29013U;
|
||||
_IEC_CONST unsigned short cfgERR_SNTP_INTERVAL = 29012U;
|
||||
_IEC_CONST unsigned short cfgERR_SNTP_CLIENT = 29011U;
|
||||
_IEC_CONST unsigned short cfgERR_SNTP_SERVER = 29010U;
|
||||
_IEC_CONST unsigned short cfgERR_PARAM_NOT_SET = 29009U;
|
||||
_IEC_CONST unsigned short cfgERR_FTP_SDOWN = 29008U;
|
||||
_IEC_CONST unsigned short cfgERR_FTP_SINIT = 29007U;
|
||||
_IEC_CONST unsigned short cfgERR_INANODE_NOT_SUPPORTED = 29006U;
|
||||
_IEC_CONST unsigned short cfgERR_ARREG = 29005U;
|
||||
_IEC_CONST unsigned short cfgERR_SET_NOT_POSSIBLE = 29004U;
|
||||
_IEC_CONST unsigned short cfgERR_VALUE_INVALID = 29003U;
|
||||
_IEC_CONST unsigned short cfgERR_OPTION_INVALID = 29002U;
|
||||
_IEC_CONST unsigned short cfgERR_DEVICE_INVALID = 29001U;
|
||||
_IEC_CONST unsigned short cfgERR_DEVICE_NOT_EXIST = 29000U;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct cfgLease_typ
|
||||
{ plcstring name[9];
|
||||
plcstring startAdr[17];
|
||||
plcstring stopAdr[17];
|
||||
plcstring subnetMask[17];
|
||||
plcstring defaultGateway[17];
|
||||
signed long leaseTimeout;
|
||||
} cfgLease_typ;
|
||||
|
||||
typedef struct CfgGetInaNode
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned char InaNode;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetInaNode_typ;
|
||||
|
||||
typedef struct CfgGetIPAddr
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pIPAddr;
|
||||
unsigned char Len;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetIPAddr_typ;
|
||||
|
||||
typedef struct CfgGetSubnetMask
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pSubnetMask;
|
||||
unsigned char Len;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetSubnetMask_typ;
|
||||
|
||||
typedef struct CfgGetMacAddr
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pMacAddr;
|
||||
unsigned char Len;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetMacAddr_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
void CfgGetInaNode(struct CfgGetInaNode* inst);
|
||||
void CfgGetIPAddr(struct CfgGetIPAddr* inst);
|
||||
void CfgGetSubnetMask(struct CfgGetSubnetMask* inst);
|
||||
void CfgGetMacAddr(struct CfgGetMacAddr* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASARCFG_ */
|
||||
|
||||
|
||||
1382
Logical/Libraries/AsARCfg/SG4/AsARCfg.h
Normal file
1382
Logical/Libraries/AsARCfg/SG4/AsARCfg.h
Normal file
File diff suppressed because it is too large
Load Diff
272
Logical/Libraries/AsARCfg/SGC/AsARCfg.h
Normal file
272
Logical/Libraries/AsARCfg/SGC/AsARCfg.h
Normal file
@@ -0,0 +1,272 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASARCFG_
|
||||
#define _ASARCFG_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#include <runtime.h>
|
||||
|
||||
#ifndef _IEC_CONST
|
||||
#define _IEC_CONST _WEAK const
|
||||
#endif
|
||||
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define cfgSTATUS_SDM_DISABLED 2U
|
||||
#define cfgSTATUS_SDM_ENABLED 1U
|
||||
#define cfgOPTION_DISABLE_SDM 2U
|
||||
#define cfgOPTION_ENABLE_SDM 1U
|
||||
#define cfgOPTION_NON_WORKGROUP 0U
|
||||
#define cfgOPTION_WORKGROUP 1U
|
||||
#define cfgOPTION_ENABLE 1U
|
||||
#define cfgOPTION_DISABLE 0U
|
||||
#define cfgCONFIGMODE_DHCPCLIENT 1U
|
||||
#define cfgCONFIGMODE_MANUALLY 0U
|
||||
#define cfgOPTION_VOLATILE 0U
|
||||
#define cfgOPTION_NON_VOLATILE 1U
|
||||
#define cfgETHBAUDRATE_1000FD 1001U
|
||||
#define cfgETHBAUDRATE_100FD 101U
|
||||
#define cfgETHBAUDRATE_100 100U
|
||||
#define cfgETHBAUDRATE_10FD 11U
|
||||
#define cfgETHBAUDRATE_10 10U
|
||||
#define cfgETHBAUDRATE_AUTO 0U
|
||||
#define cfgERR_CLEAR_NV_DATA 29027U
|
||||
#define cfgERR_SDM_FUNCTION_NOT_FOUND 29026U
|
||||
#define cfgERR_LEASE_TIMEOUT 29024U
|
||||
#define cfgERR_LEASE_EXISTS 29023U
|
||||
#define cfgERR_LEASES_BUFFER 29022U
|
||||
#define cfgERR_INTERFACELIST_BUFFER 29021U
|
||||
#define cfgERR_DHCP_SERVER_STARTED 29020U
|
||||
#define cfgERR_CIFS_DEFAULTPW_INVALID 29019U
|
||||
#define cfgERR_INANODE_NUMBER_SET 29018U
|
||||
#define cfgERR_CIFS_DEFAULTUSER_INVALID 29017U
|
||||
#define cfgERR_CIFS_DOMAIN_INVALID 29016U
|
||||
#define cfgERR_YEAR_INVALID 29015U
|
||||
#define cfgERR_TIMEZONE 29014U
|
||||
#define cfgERR_SYSTEM 29013U
|
||||
#define cfgERR_SNTP_INTERVAL 29012U
|
||||
#define cfgERR_SNTP_CLIENT 29011U
|
||||
#define cfgERR_SNTP_SERVER 29010U
|
||||
#define cfgERR_PARAM_NOT_SET 29009U
|
||||
#define cfgERR_FTP_SDOWN 29008U
|
||||
#define cfgERR_FTP_SINIT 29007U
|
||||
#define cfgERR_INANODE_NOT_SUPPORTED 29006U
|
||||
#define cfgERR_ARREG 29005U
|
||||
#define cfgERR_SET_NOT_POSSIBLE 29004U
|
||||
#define cfgERR_VALUE_INVALID 29003U
|
||||
#define cfgERR_OPTION_INVALID 29002U
|
||||
#define cfgERR_DEVICE_INVALID 29001U
|
||||
#define cfgERR_DEVICE_NOT_EXIST 29000U
|
||||
#else
|
||||
_IEC_CONST unsigned char cfgSTATUS_SDM_DISABLED = 2U;
|
||||
_IEC_CONST unsigned char cfgSTATUS_SDM_ENABLED = 1U;
|
||||
_IEC_CONST unsigned char cfgOPTION_DISABLE_SDM = 2U;
|
||||
_IEC_CONST unsigned char cfgOPTION_ENABLE_SDM = 1U;
|
||||
_IEC_CONST unsigned char cfgOPTION_NON_WORKGROUP = 0U;
|
||||
_IEC_CONST unsigned char cfgOPTION_WORKGROUP = 1U;
|
||||
_IEC_CONST unsigned long cfgOPTION_ENABLE = 1U;
|
||||
_IEC_CONST unsigned long cfgOPTION_DISABLE = 0U;
|
||||
_IEC_CONST unsigned long cfgCONFIGMODE_DHCPCLIENT = 1U;
|
||||
_IEC_CONST unsigned long cfgCONFIGMODE_MANUALLY = 0U;
|
||||
_IEC_CONST unsigned long cfgOPTION_VOLATILE = 0U;
|
||||
_IEC_CONST unsigned long cfgOPTION_NON_VOLATILE = 1U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_1000FD = 1001U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_100FD = 101U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_100 = 100U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_10FD = 11U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_10 = 10U;
|
||||
_IEC_CONST unsigned long cfgETHBAUDRATE_AUTO = 0U;
|
||||
_IEC_CONST unsigned short cfgERR_CLEAR_NV_DATA = 29027U;
|
||||
_IEC_CONST unsigned short cfgERR_SDM_FUNCTION_NOT_FOUND = 29026U;
|
||||
_IEC_CONST unsigned short cfgERR_LEASE_TIMEOUT = 29024U;
|
||||
_IEC_CONST unsigned short cfgERR_LEASE_EXISTS = 29023U;
|
||||
_IEC_CONST unsigned short cfgERR_LEASES_BUFFER = 29022U;
|
||||
_IEC_CONST unsigned short cfgERR_INTERFACELIST_BUFFER = 29021U;
|
||||
_IEC_CONST unsigned short cfgERR_DHCP_SERVER_STARTED = 29020U;
|
||||
_IEC_CONST unsigned short cfgERR_CIFS_DEFAULTPW_INVALID = 29019U;
|
||||
_IEC_CONST unsigned short cfgERR_INANODE_NUMBER_SET = 29018U;
|
||||
_IEC_CONST unsigned short cfgERR_CIFS_DEFAULTUSER_INVALID = 29017U;
|
||||
_IEC_CONST unsigned short cfgERR_CIFS_DOMAIN_INVALID = 29016U;
|
||||
_IEC_CONST unsigned short cfgERR_YEAR_INVALID = 29015U;
|
||||
_IEC_CONST unsigned short cfgERR_TIMEZONE = 29014U;
|
||||
_IEC_CONST unsigned short cfgERR_SYSTEM = 29013U;
|
||||
_IEC_CONST unsigned short cfgERR_SNTP_INTERVAL = 29012U;
|
||||
_IEC_CONST unsigned short cfgERR_SNTP_CLIENT = 29011U;
|
||||
_IEC_CONST unsigned short cfgERR_SNTP_SERVER = 29010U;
|
||||
_IEC_CONST unsigned short cfgERR_PARAM_NOT_SET = 29009U;
|
||||
_IEC_CONST unsigned short cfgERR_FTP_SDOWN = 29008U;
|
||||
_IEC_CONST unsigned short cfgERR_FTP_SINIT = 29007U;
|
||||
_IEC_CONST unsigned short cfgERR_INANODE_NOT_SUPPORTED = 29006U;
|
||||
_IEC_CONST unsigned short cfgERR_ARREG = 29005U;
|
||||
_IEC_CONST unsigned short cfgERR_SET_NOT_POSSIBLE = 29004U;
|
||||
_IEC_CONST unsigned short cfgERR_VALUE_INVALID = 29003U;
|
||||
_IEC_CONST unsigned short cfgERR_OPTION_INVALID = 29002U;
|
||||
_IEC_CONST unsigned short cfgERR_DEVICE_INVALID = 29001U;
|
||||
_IEC_CONST unsigned short cfgERR_DEVICE_NOT_EXIST = 29000U;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct cfgLease_typ
|
||||
{ plcstring name[9];
|
||||
plcstring startAdr[17];
|
||||
plcstring stopAdr[17];
|
||||
plcstring subnetMask[17];
|
||||
plcstring defaultGateway[17];
|
||||
signed long leaseTimeout;
|
||||
} cfgLease_typ;
|
||||
|
||||
typedef struct CfgGetInaNode
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned char InaNode;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetInaNode_typ;
|
||||
|
||||
typedef struct CfgGetIPAddr
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pIPAddr;
|
||||
unsigned char Len;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetIPAddr_typ;
|
||||
|
||||
typedef struct CfgSetIPAddr
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pIPAddr;
|
||||
unsigned long Option;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgSetIPAddr_typ;
|
||||
|
||||
typedef struct CfgGetSubnetMask
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pSubnetMask;
|
||||
unsigned char Len;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetSubnetMask_typ;
|
||||
|
||||
typedef struct CfgSetSubnetMask
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pSubnetMask;
|
||||
unsigned long Option;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgSetSubnetMask_typ;
|
||||
|
||||
typedef struct CfgGetDefaultGateway
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pGateway;
|
||||
unsigned char Len;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetDefaultGateway_typ;
|
||||
|
||||
typedef struct CfgSetDefaultGateway
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pGateway;
|
||||
unsigned long Option;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgSetDefaultGateway_typ;
|
||||
|
||||
typedef struct CfgGetMacAddr
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pDevice;
|
||||
unsigned long pMacAddr;
|
||||
unsigned char Len;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} CfgGetMacAddr_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
void CfgGetInaNode(struct CfgGetInaNode* inst);
|
||||
void CfgGetIPAddr(struct CfgGetIPAddr* inst);
|
||||
void CfgSetIPAddr(struct CfgSetIPAddr* inst);
|
||||
void CfgGetSubnetMask(struct CfgGetSubnetMask* inst);
|
||||
void CfgSetSubnetMask(struct CfgSetSubnetMask* inst);
|
||||
void CfgGetDefaultGateway(struct CfgGetDefaultGateway* inst);
|
||||
void CfgSetDefaultGateway(struct CfgSetDefaultGateway* inst);
|
||||
void CfgGetMacAddr(struct CfgGetMacAddr* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASARCFG_ */
|
||||
|
||||
|
||||
124
Logical/Libraries/AsArLog/AsArLog.fun
Normal file
124
Logical/Libraries/AsArLog/AsArLog.fun
Normal file
@@ -0,0 +1,124 @@
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsArLogCreate (*creates an AR logger user module; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pName : UDINT; (*name of the AR logger user module to be created give as a pointer, e.g. "vclog".*)
|
||||
len : UDINT; (*length of the log data area*)
|
||||
memType : UDINT; (*memory type on the target: arlogDRAM, arlogUSRRAM, arlogUSRROM*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
intResult : UDINT; (*internal variable*)
|
||||
intState : UDINT; (*internal variable*)
|
||||
intRes : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
ident : UDINT; (*ident of the AR logger basis module to be generated*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsArLogDelete (*deletes an AR logger user module; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*ident of the AR logger user module to be deleted*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
intResult : UDINT; (*internal variable*)
|
||||
intState : UDINT; (*internal variable*)
|
||||
intRes : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsArLogWrite (*writes a log entry to a AR logger user module; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*ident for the AR logger module to be written (user module or base module)*)
|
||||
logLevel : UDINT; (*log level of the log entry*)
|
||||
errornr : UDINT; (*error number of the entry*)
|
||||
mem : UDINT; (*binary log data given as a pointer*)
|
||||
len : UDINT; (*length of the binary log data in bytes*)
|
||||
asciiString : UDINT; (*log-specific zero-terminated ASCII string give as a pointer*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
intResult : UDINT; (*internal variable*)
|
||||
intState : UDINT; (*internal variable*)
|
||||
intRes : UDINT; (*internal variable*)
|
||||
intTaskName : ARRAY[0..35] OF USINT; (*internal variable*)
|
||||
intRtkTime : ARRAY[0..3] OF UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsArLogRead (*reads a log entry from a AR logger module; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*ident for the AR logger module to be read (user module or base module)*)
|
||||
index : UDINT; (*index of the log entry to be read*)
|
||||
arlogRead : UDINT; (*specifies read structure (given as a pointer) where the header data for the log entry can be copied*)
|
||||
memBin : UDINT; (*buffer for binary log data given as a pointer (if NULL, no binary log data is copied)*)
|
||||
lenBin : UDINT; (*number of binary log data bytes to be read (if NULL, no binary log data is copied)*)
|
||||
memAscii : UDINT; (*buffer for ASCII string given as a pointer*)
|
||||
lenAscii : UDINT; (*number of bytes to be read for the ASCII string*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
intResult : UDINT; (*internal variable*)
|
||||
intState : UDINT; (*internal variable*)
|
||||
intRes : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsArLogClear (*deletes or reinitializes the log data in an AR logger user module; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
ident : UDINT; (*ident of the AR logger user module to be reinitialized*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
intResult : UDINT; (*internal variable*)
|
||||
intState : UDINT; (*internal variable*)
|
||||
intRes : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK AsArLogGetInfo (*reads information from a self-generated AR logger user module or AR logger base user module*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
pName : UDINT; (*name of the AR logger user module (e.g. "vclog") given as a pointer*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
intResult : UDINT; (*internal variable*)
|
||||
intState : UDINT; (*internal variable*)
|
||||
intRes : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, 0xXXXX = see help*)
|
||||
ident : UDINT; (*ident of the AR logger BR module*)
|
||||
len : UDINT; (*length of the log data area*)
|
||||
memType : UDINT; (*memory type on the target*)
|
||||
actualIndex : UDINT; (*current entry index in the specified AR logger BR module*)
|
||||
FormatVer : UDINT; (*version of de log data format*)
|
||||
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
20
Logical/Libraries/AsArLog/AsArLog.typ
Normal file
20
Logical/Libraries/AsArLog/AsArLog.typ
Normal file
@@ -0,0 +1,20 @@
|
||||
|
||||
TYPE
|
||||
asarlogRead : STRUCT
|
||||
len : UDINT; (*length of the entire log entry (header + binary log data + ASCII string)*)
|
||||
lenBin : UDINT; (*length of the binary log data*)
|
||||
lenAscii : UDINT; (*length of the ASCII log data*)
|
||||
logLevel : UDINT; (*log level of the log entry*)
|
||||
errornr : UDINT; (*error number of the entry*)
|
||||
taskName : ARRAY[0..35] OF USINT; (*task name*)
|
||||
errYear : UDINT; (*year (date of error)*)
|
||||
errMonth : UDINT; (*month (date of error)*)
|
||||
errDay : UDINT; (*day (date of error)*)
|
||||
errHour : UDINT; (*hour (time of error)*)
|
||||
errMinute : UDINT; (*minute (time of error)*)
|
||||
errSecond : UDINT; (*second (time of error)*)
|
||||
errMilliSec : UDINT; (*millisecond (time of error)*)
|
||||
errMicroSec : UDINT; (*microsecond (time of error)*)
|
||||
END_STRUCT;
|
||||
END_TYPE
|
||||
|
||||
45
Logical/Libraries/AsArLog/AsArLog.var
Normal file
45
Logical/Libraries/AsArLog/AsArLog.var
Normal file
@@ -0,0 +1,45 @@
|
||||
|
||||
VAR CONSTANT
|
||||
arlogDRAM : USINT := 65; (*temporary AR log modules (DRAM)*)
|
||||
arlogUSRRAM : USINT := 3; (*USERRAM*)
|
||||
arlogUSRROM : USINT := 2; (*USERROM (USER FLASH)*)
|
||||
|
||||
arlogLEVEL_INFO : UDINT := 1; (*log level INFO*)
|
||||
arlogLEVEL_WARNING : UDINT := 2; (*log level WARNING*)
|
||||
arlogLEVEL_FATAL : UDINT := 3; (*log level FATAL*)
|
||||
|
||||
arlogMIN_LOGDATA_SIZE : UINT := 4096; (*minimum log data size of 4 KB*)
|
||||
|
||||
arlogBASE_SYSTEM_LOG_IDENT : UDINT := 0; (*fixed ID for the "$arlogsys" base system module*)
|
||||
arlogBASE_USER_LOG_IDENT : UDINT := 1; (*fixed ID for the "$arlogusr" base user module*)
|
||||
arlogBASE_FIELDBUS_LOG_IDENT : UDINT := 2; (*fixed ID for the "fieldbus" logger module*)
|
||||
arlogBASE_SAFETY_LOG_IDENT : UDINT := 3; (*fixed ID for the "safety" logger module*)
|
||||
arlogBASE_REDUND_LOG_IDENT : UDINT := 4; (*fixed ID for the "redund" logger module*)
|
||||
|
||||
arlogERR_ILL_NAME : UINT := 31400; (*incorrect or invalid name*)
|
||||
arlogERR_ILL_MEMTYPE : UINT := 31401; (*incorrect memory type*)
|
||||
arlogERR_ILL_LOGLEVEL : UINT := 31402; (*invalid log level (only arlogLEVEL_INFO, arlogLEVEL_WARNING, and arlogLEVEL_FATAL valid)*)
|
||||
arlogERR_ILL_PARAM : UINT := 31403; (*invalid parameters specified*)
|
||||
arlogERR_ILL_LEN : UINT := 31404; (*incorrect log data length. Must be >= arlogMIN_LOGDATA_SIZE (4096 bytes)*)
|
||||
arlogERR_EXISTING : UINT := 31405; (*log module already exists*)
|
||||
arlogERR_CREATE : UINT := 31406; (*general create error (create failed)*)
|
||||
arlogERR_INSTALL : UINT := 31407; (*install error for AsArLogCreate*)
|
||||
arlogERR_ACCESS_DENIED : UINT := 31408; (*cannot access the "$arlogsys" and "$arlogusr" base log modules*)
|
||||
arlogERR_IN_ACCESS : UINT := 31409; (*access denied since other critical FBK simultaneously active*)
|
||||
arlogERR_INVALID_IDENT : UINT := 31410; (*invalid ident specified*)
|
||||
arlogERR_DELETE : UINT := 31411; (*general delete error (delete failed)*)
|
||||
|
||||
arlogERR_NOMEMORY : UINT := 31412; (*not enough buffer to copy*)
|
||||
arlogERR_NOTEXISTING : UINT := 31416; (*AR log module doesn't exist*)
|
||||
|
||||
arlogERR_WRITE : UINT := 31417; (*general write error (write failed)*)
|
||||
arlogERR_WRITE_CALC_DATA : UINT := 31418; (*error calculating referencing index*)
|
||||
|
||||
arlogERR_READ : UINT := 31419; (*general read error (read failed)*)
|
||||
arlogERR_READ_BUFFER : UINT := 31420; (*invalid buffer specified*)
|
||||
arlogERR_INVALID_INDEX : UINT := 31421; (*invalid index (smaller than the reference index and larger than the current index)*)
|
||||
arlogERR_INVALID_ENTRY : UINT := 31422; (*invalid log entry read*)
|
||||
arlogERR_READ_BINARY_BUFFER : UINT := 31423; (*buffer length for binary data too small*)
|
||||
arlogERR_READ_ASCII_BUFFER : UINT := 31424; (*buffer length for ASCII data too small*)
|
||||
arlogERR_NO_MORE_ENTRY : UINT := 31425; (*FBK still working*)
|
||||
END_VAR
|
||||
12
Logical/Libraries/AsArLog/Binary.lby
Normal file
12
Logical/Libraries/AsArLog/Binary.lby
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=3.0.0.0?>
|
||||
<Library xmlns="http://br-automation.co.at/AS/Library" Description="OBSOLETE - The AsArLog library is replaced by ArEventLog and exists only for compatibility reasons.">
|
||||
<Files>
|
||||
<File>AsArLog.fun</File>
|
||||
<File>AsArLog.typ</File>
|
||||
<File>AsArLog.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="runtime" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
237
Logical/Libraries/AsArLog/SG4/AsArLog.h
Normal file
237
Logical/Libraries/AsArLog/SG4/AsArLog.h
Normal file
@@ -0,0 +1,237 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASARLOG_
|
||||
#define _ASARLOG_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#include <runtime.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define arlogERR_NO_MORE_ENTRY 31425U
|
||||
#define arlogERR_READ_ASCII_BUFFER 31424U
|
||||
#define arlogERR_READ_BINARY_BUFFER 31423U
|
||||
#define arlogERR_INVALID_ENTRY 31422U
|
||||
#define arlogERR_INVALID_INDEX 31421U
|
||||
#define arlogERR_READ_BUFFER 31420U
|
||||
#define arlogERR_READ 31419U
|
||||
#define arlogERR_WRITE_CALC_DATA 31418U
|
||||
#define arlogERR_WRITE 31417U
|
||||
#define arlogERR_NOTEXISTING 31416U
|
||||
#define arlogERR_NOMEMORY 31412U
|
||||
#define arlogERR_DELETE 31411U
|
||||
#define arlogERR_INVALID_IDENT 31410U
|
||||
#define arlogERR_IN_ACCESS 31409U
|
||||
#define arlogERR_ACCESS_DENIED 31408U
|
||||
#define arlogERR_INSTALL 31407U
|
||||
#define arlogERR_CREATE 31406U
|
||||
#define arlogERR_EXISTING 31405U
|
||||
#define arlogERR_ILL_LEN 31404U
|
||||
#define arlogERR_ILL_PARAM 31403U
|
||||
#define arlogERR_ILL_LOGLEVEL 31402U
|
||||
#define arlogERR_ILL_MEMTYPE 31401U
|
||||
#define arlogERR_ILL_NAME 31400U
|
||||
#define arlogBASE_REDUND_LOG_IDENT 4U
|
||||
#define arlogBASE_SAFETY_LOG_IDENT 3U
|
||||
#define arlogBASE_FIELDBUS_LOG_IDENT 2U
|
||||
#define arlogBASE_USER_LOG_IDENT 1U
|
||||
#define arlogBASE_SYSTEM_LOG_IDENT 0U
|
||||
#define arlogMIN_LOGDATA_SIZE 4096U
|
||||
#define arlogLEVEL_FATAL 3U
|
||||
#define arlogLEVEL_WARNING 2U
|
||||
#define arlogLEVEL_INFO 1U
|
||||
#define arlogUSRROM 2U
|
||||
#define arlogUSRRAM 3U
|
||||
#define arlogDRAM 65U
|
||||
#else
|
||||
#ifndef _GLOBAL_CONST
|
||||
#define _GLOBAL_CONST _WEAK const
|
||||
#endif
|
||||
_GLOBAL_CONST unsigned short arlogERR_NO_MORE_ENTRY;
|
||||
_GLOBAL_CONST unsigned short arlogERR_READ_ASCII_BUFFER;
|
||||
_GLOBAL_CONST unsigned short arlogERR_READ_BINARY_BUFFER;
|
||||
_GLOBAL_CONST unsigned short arlogERR_INVALID_ENTRY;
|
||||
_GLOBAL_CONST unsigned short arlogERR_INVALID_INDEX;
|
||||
_GLOBAL_CONST unsigned short arlogERR_READ_BUFFER;
|
||||
_GLOBAL_CONST unsigned short arlogERR_READ;
|
||||
_GLOBAL_CONST unsigned short arlogERR_WRITE_CALC_DATA;
|
||||
_GLOBAL_CONST unsigned short arlogERR_WRITE;
|
||||
_GLOBAL_CONST unsigned short arlogERR_NOTEXISTING;
|
||||
_GLOBAL_CONST unsigned short arlogERR_NOMEMORY;
|
||||
_GLOBAL_CONST unsigned short arlogERR_DELETE;
|
||||
_GLOBAL_CONST unsigned short arlogERR_INVALID_IDENT;
|
||||
_GLOBAL_CONST unsigned short arlogERR_IN_ACCESS;
|
||||
_GLOBAL_CONST unsigned short arlogERR_ACCESS_DENIED;
|
||||
_GLOBAL_CONST unsigned short arlogERR_INSTALL;
|
||||
_GLOBAL_CONST unsigned short arlogERR_CREATE;
|
||||
_GLOBAL_CONST unsigned short arlogERR_EXISTING;
|
||||
_GLOBAL_CONST unsigned short arlogERR_ILL_LEN;
|
||||
_GLOBAL_CONST unsigned short arlogERR_ILL_PARAM;
|
||||
_GLOBAL_CONST unsigned short arlogERR_ILL_LOGLEVEL;
|
||||
_GLOBAL_CONST unsigned short arlogERR_ILL_MEMTYPE;
|
||||
_GLOBAL_CONST unsigned short arlogERR_ILL_NAME;
|
||||
_GLOBAL_CONST unsigned long arlogBASE_REDUND_LOG_IDENT;
|
||||
_GLOBAL_CONST unsigned long arlogBASE_SAFETY_LOG_IDENT;
|
||||
_GLOBAL_CONST unsigned long arlogBASE_FIELDBUS_LOG_IDENT;
|
||||
_GLOBAL_CONST unsigned long arlogBASE_USER_LOG_IDENT;
|
||||
_GLOBAL_CONST unsigned long arlogBASE_SYSTEM_LOG_IDENT;
|
||||
_GLOBAL_CONST unsigned short arlogMIN_LOGDATA_SIZE;
|
||||
_GLOBAL_CONST unsigned long arlogLEVEL_FATAL;
|
||||
_GLOBAL_CONST unsigned long arlogLEVEL_WARNING;
|
||||
_GLOBAL_CONST unsigned long arlogLEVEL_INFO;
|
||||
_GLOBAL_CONST unsigned char arlogUSRROM;
|
||||
_GLOBAL_CONST unsigned char arlogUSRRAM;
|
||||
_GLOBAL_CONST unsigned char arlogDRAM;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct asarlogRead
|
||||
{ unsigned long len;
|
||||
unsigned long lenBin;
|
||||
unsigned long lenAscii;
|
||||
unsigned long logLevel;
|
||||
unsigned long errornr;
|
||||
unsigned char taskName[36];
|
||||
unsigned long errYear;
|
||||
unsigned long errMonth;
|
||||
unsigned long errDay;
|
||||
unsigned long errHour;
|
||||
unsigned long errMinute;
|
||||
unsigned long errSecond;
|
||||
unsigned long errMilliSec;
|
||||
unsigned long errMicroSec;
|
||||
} asarlogRead;
|
||||
|
||||
typedef struct AsArLogCreate
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pName;
|
||||
unsigned long len;
|
||||
unsigned long memType;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long ident;
|
||||
/* VAR (analog) */
|
||||
unsigned long intResult;
|
||||
unsigned long intState;
|
||||
unsigned long intRes;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsArLogCreate_typ;
|
||||
|
||||
typedef struct AsArLogDelete
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned long intResult;
|
||||
unsigned long intState;
|
||||
unsigned long intRes;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsArLogDelete_typ;
|
||||
|
||||
typedef struct AsArLogWrite
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long logLevel;
|
||||
unsigned long errornr;
|
||||
unsigned long mem;
|
||||
unsigned long len;
|
||||
unsigned long asciiString;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned long intResult;
|
||||
unsigned long intState;
|
||||
unsigned long intRes;
|
||||
unsigned char intTaskName[36];
|
||||
unsigned long intRtkTime[4];
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsArLogWrite_typ;
|
||||
|
||||
typedef struct AsArLogRead
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
unsigned long index;
|
||||
unsigned long arlogRead;
|
||||
unsigned long memBin;
|
||||
unsigned long lenBin;
|
||||
unsigned long memAscii;
|
||||
unsigned long lenAscii;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned long intResult;
|
||||
unsigned long intState;
|
||||
unsigned long intRes;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsArLogRead_typ;
|
||||
|
||||
typedef struct AsArLogClear
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long ident;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned long intResult;
|
||||
unsigned long intState;
|
||||
unsigned long intRes;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsArLogClear_typ;
|
||||
|
||||
typedef struct AsArLogGetInfo
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long pName;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
unsigned long ident;
|
||||
unsigned long len;
|
||||
unsigned long memType;
|
||||
unsigned long actualIndex;
|
||||
unsigned long FormatVer;
|
||||
/* VAR (analog) */
|
||||
unsigned long intResult;
|
||||
unsigned long intState;
|
||||
unsigned long intRes;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} AsArLogGetInfo_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC void AsArLogCreate(struct AsArLogCreate* inst);
|
||||
_BUR_PUBLIC void AsArLogDelete(struct AsArLogDelete* inst);
|
||||
_BUR_PUBLIC void AsArLogWrite(struct AsArLogWrite* inst);
|
||||
_BUR_PUBLIC void AsArLogRead(struct AsArLogRead* inst);
|
||||
_BUR_PUBLIC void AsArLogClear(struct AsArLogClear* inst);
|
||||
_BUR_PUBLIC void AsArLogGetInfo(struct AsArLogGetInfo* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASARLOG_ */
|
||||
|
||||
39
Logical/Libraries/AsArSdm/AsArSdm.fun
Normal file
39
Logical/Libraries/AsArSdm/AsArSdm.fun
Normal file
@@ -0,0 +1,39 @@
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK SdmSystemDump (*SDM - create a system dump; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
configuration : UDINT; (*cfgSDM_SYSTEMDUMP_PARAM(0) parameters only or cfgSDM_SYSTEMDUMP_DATA(1) parameters and data-files*)
|
||||
pDevice : UDINT; (*Devicename given as a pointer*)
|
||||
pFile : UDINT; (*Filename given as a pointer*)
|
||||
pParam : UDINT; (*Parameterstring given as a pointer*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION_BLOCK SdmSetAppParam (*SDM - set application mode; asynchronous execution*)
|
||||
VAR_INPUT
|
||||
enable : BOOL; (*enables execution*)
|
||||
appMode : UDINT; (*cfgSDM_APPMODE_OK(1),cfgSDM_APPMODE_WARNING(2),cfgSDM_APPMODE_ERROR(3)*)
|
||||
pLink : UDINT; (*URL given as a pointer*)
|
||||
Option : UDINT; (*options: cfgOPTION_VOLATILE, cfgOPTION_NON_VOLATILE*)
|
||||
END_VAR
|
||||
|
||||
VAR_OUTPUT
|
||||
status : UINT; (*execution status: ERR_OK, ERR_FUB_ENABLE_FALSE, ERR_FUB_BUSY, 0xXXXX = see help*)
|
||||
END_VAR
|
||||
|
||||
VAR
|
||||
i_state : UINT; (*internal variable*)
|
||||
i_result : UINT; (*internal variable*)
|
||||
i_tmp : UDINT; (*internal variable*)
|
||||
END_VAR
|
||||
END_FUNCTION_BLOCK
|
||||
1
Logical/Libraries/AsArSdm/AsArSdm.typ
Normal file
1
Logical/Libraries/AsArSdm/AsArSdm.typ
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
21
Logical/Libraries/AsArSdm/AsArSdm.var
Normal file
21
Logical/Libraries/AsArSdm/AsArSdm.var
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
VAR CONSTANT
|
||||
sdmERR_NOT_EXIST : UINT := 34900; (*SDM not active*)
|
||||
sdmERR_ARREG : UINT := 34901; (*SDM AR registry error*)
|
||||
sdmERR_SYSTEMDUMP : UINT := 34902; (*SDM System dump error*)
|
||||
sdmERR_INVALID_DEVICE : UINT := 34903; (*SDM System dump invalid device*)
|
||||
sdmERR_INVALID_POINTER : UINT := 34904; (*SDM System dump invalid pointer*)
|
||||
sdmERR_INVALID_VALUE : UINT := 34905; (*SDM Invalid application mode*)
|
||||
sdmERR_OPTION_INVALID : UINT := 34906; (*SDM"Option" parameter invalid*)
|
||||
|
||||
sdm_SYSTEMDUMP_PARAM : UINT := 0; (*SDM System Dump parameters only*)
|
||||
sdm_SYSTEMDUMP_DATA : UINT := 1; (*SDM SDM System Dump parameters and data files*)
|
||||
|
||||
sdm_APPMODE_NOTUSED : UINT := 0; (*SDM Applicationmode not set*)
|
||||
sdm_APPMODE_OK : UINT := 1; (*SDM Application ok*)
|
||||
sdm_APPMODE_WARNING : UINT := 2; (*SDM Application warning *)
|
||||
sdm_APPMODE_ERROR : UINT := 3; (*SDM Application error*)
|
||||
|
||||
sdmOPTION_NON_VOLATILE : UDINT := 1; (*permanently sets parameters*)
|
||||
sdmOPTION_VOLATILE : UDINT := 0; (*temporarily sets parameters*)
|
||||
END_VAR
|
||||
12
Logical/Libraries/AsArSdm/Binary.lby
Normal file
12
Logical/Libraries/AsArSdm/Binary.lby
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=3.0.0.0?>
|
||||
<Library xmlns="http://br-automation.co.at/AS/Library" Description="The AsArSdm library supports the System Diagnostics Manager">
|
||||
<Files>
|
||||
<File>AsArSdm.fun</File>
|
||||
<File>AsArSdm.typ</File>
|
||||
<File>AsArSdm.var</File>
|
||||
</Files>
|
||||
<Dependencies>
|
||||
<Dependency ObjectName="runtime" />
|
||||
</Dependencies>
|
||||
</Library>
|
||||
104
Logical/Libraries/AsArSdm/SG4/AsArSdm.h
Normal file
104
Logical/Libraries/AsArSdm/SG4/AsArSdm.h
Normal file
@@ -0,0 +1,104 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASARSDM_
|
||||
#define _ASARSDM_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#include <runtime.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define sdmOPTION_VOLATILE 0U
|
||||
#define sdmOPTION_NON_VOLATILE 1U
|
||||
#define sdm_APPMODE_ERROR 3U
|
||||
#define sdm_APPMODE_WARNING 2U
|
||||
#define sdm_APPMODE_OK 1U
|
||||
#define sdm_APPMODE_NOTUSED 0U
|
||||
#define sdm_SYSTEMDUMP_DATA 1U
|
||||
#define sdm_SYSTEMDUMP_PARAM 0U
|
||||
#define sdmERR_OPTION_INVALID 34906U
|
||||
#define sdmERR_INVALID_VALUE 34905U
|
||||
#define sdmERR_INVALID_POINTER 34904U
|
||||
#define sdmERR_INVALID_DEVICE 34903U
|
||||
#define sdmERR_SYSTEMDUMP 34902U
|
||||
#define sdmERR_ARREG 34901U
|
||||
#define sdmERR_NOT_EXIST 34900U
|
||||
#else
|
||||
#ifndef _GLOBAL_CONST
|
||||
#define _GLOBAL_CONST _WEAK const
|
||||
#endif
|
||||
_GLOBAL_CONST unsigned long sdmOPTION_VOLATILE;
|
||||
_GLOBAL_CONST unsigned long sdmOPTION_NON_VOLATILE;
|
||||
_GLOBAL_CONST unsigned short sdm_APPMODE_ERROR;
|
||||
_GLOBAL_CONST unsigned short sdm_APPMODE_WARNING;
|
||||
_GLOBAL_CONST unsigned short sdm_APPMODE_OK;
|
||||
_GLOBAL_CONST unsigned short sdm_APPMODE_NOTUSED;
|
||||
_GLOBAL_CONST unsigned short sdm_SYSTEMDUMP_DATA;
|
||||
_GLOBAL_CONST unsigned short sdm_SYSTEMDUMP_PARAM;
|
||||
_GLOBAL_CONST unsigned short sdmERR_OPTION_INVALID;
|
||||
_GLOBAL_CONST unsigned short sdmERR_INVALID_VALUE;
|
||||
_GLOBAL_CONST unsigned short sdmERR_INVALID_POINTER;
|
||||
_GLOBAL_CONST unsigned short sdmERR_INVALID_DEVICE;
|
||||
_GLOBAL_CONST unsigned short sdmERR_SYSTEMDUMP;
|
||||
_GLOBAL_CONST unsigned short sdmERR_ARREG;
|
||||
_GLOBAL_CONST unsigned short sdmERR_NOT_EXIST;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
/* Datatypes and datatypes of function blocks */
|
||||
typedef struct SdmSystemDump
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long configuration;
|
||||
unsigned long pDevice;
|
||||
unsigned long pFile;
|
||||
unsigned long pParam;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} SdmSystemDump_typ;
|
||||
|
||||
typedef struct SdmSetAppParam
|
||||
{
|
||||
/* VAR_INPUT (analog) */
|
||||
unsigned long appMode;
|
||||
unsigned long pLink;
|
||||
unsigned long Option;
|
||||
/* VAR_OUTPUT (analog) */
|
||||
unsigned short status;
|
||||
/* VAR (analog) */
|
||||
unsigned short i_state;
|
||||
unsigned short i_result;
|
||||
unsigned long i_tmp;
|
||||
/* VAR_INPUT (digital) */
|
||||
plcbit enable;
|
||||
} SdmSetAppParam_typ;
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC void SdmSystemDump(struct SdmSystemDump* inst);
|
||||
_BUR_PUBLIC void SdmSetAppParam(struct SdmSetAppParam* inst);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASARSDM_ */
|
||||
|
||||
72
Logical/Libraries/AsBrMath/AsBrMath.fun
Normal file
72
Logical/Libraries/AsBrMath/AsBrMath.fun
Normal file
@@ -0,0 +1,72 @@
|
||||
|
||||
{REDUND_OK} FUNCTION brmatan2 : REAL (*calculates the arc tangent of y/x*)
|
||||
VAR_INPUT
|
||||
y :REAL; (*y*)
|
||||
x :REAL; (*x*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION brmceil : REAL (*calculates the smallest integer value which is greater than or equal to the input value*)
|
||||
VAR_INPUT
|
||||
x :REAL; (*input value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION brmcosh : REAL (*calculates the hyperbolic cosine of x*)
|
||||
VAR_INPUT
|
||||
x :REAL; (*input value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION brmfloor : REAL (*calculates the largest integer value which is less than or equal to the input value*)
|
||||
VAR_INPUT
|
||||
x :REAL; (*input value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION brmfmod : REAL (*calculates the remainder of the division x/y*)
|
||||
VAR_INPUT
|
||||
x :REAL; (*numerator*)
|
||||
y :REAL; (*denominator*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION brmfrexp : REAL (*calculates the mantissa and the exponent of a floating point number*)
|
||||
VAR_INPUT
|
||||
x :REAL; (*input value*)
|
||||
pExp :UDINT; (*address of the exponent (address of DINT) (base 2)*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION brmldexp : REAL (*calculates a floating point number from mantissa x and exponent exp*)
|
||||
VAR_INPUT
|
||||
x :REAL; (*mantissa*)
|
||||
exp_val :DINT; (*exponent (base 2)*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION brmmodf : REAL (*separates a floating point number into an integer and decimal part*)
|
||||
VAR_INPUT
|
||||
x :REAL; (*input value*)
|
||||
plp :UDINT; (*address of the integer part (address of a REAL value)*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION brmpow : REAL (*calculates x raised to the power of y*)
|
||||
VAR_INPUT
|
||||
x :REAL; (*base*)
|
||||
y :REAL; (*exponent*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION brmsinh : REAL (*calculates the hyperbolic sine of x*)
|
||||
VAR_INPUT
|
||||
x :REAL; (*input value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
{REDUND_OK} FUNCTION brmtanh : REAL (*calculates the hyperbolic tangent of x*)
|
||||
VAR_INPUT
|
||||
x :REAL; (*input value*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
4
Logical/Libraries/AsBrMath/AsBrMath.typ
Normal file
4
Logical/Libraries/AsBrMath/AsBrMath.typ
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
TYPE
|
||||
|
||||
END_TYPE
|
||||
25
Logical/Libraries/AsBrMath/AsBrMath.var
Normal file
25
Logical/Libraries/AsBrMath/AsBrMath.var
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
VAR CONSTANT
|
||||
brm2_SQRTPI : REAL := 1.12838; (*2/(square root from PI)*)
|
||||
brmSQRT1_2 : REAL := 0.707107; (*square root from 1/2*)
|
||||
brmSQRTPI : REAL := 1.77245; (*square root from PI*)
|
||||
brmLOG2_E : REAL := 0.693147; (*log with the base 2 from E*)
|
||||
brmLOG10E : REAL := 0.434294; (*log with the base 10 from E*)
|
||||
brmIVLN10 : REAL := 0.434294; (*1/(ln from 10)*)
|
||||
brmINVLN2 : REAL := 1.4427; (*1/(ln from 2)*)
|
||||
brmTWOPI : REAL := 6.28319; (*2 PI*)
|
||||
brmSQRT3 : REAL := 1.73205; (*square root from 3*)
|
||||
brmSQRT2 : REAL := 1.41421; (*square root from 2*)
|
||||
brmLOG2E : REAL := 1.4427; (*log with the base 2 from E*)
|
||||
brmLN2LO : REAL := 1.90821e-010; (*log with the base 2 from LOW*)
|
||||
brmLN2HI : REAL := 0.693147; (*log with the base 2 from HIGH*)
|
||||
brm3PI_4 : REAL := 2.35619; (*3/4 PI*)
|
||||
brmPI_4 : REAL := 0.785398; (*PI/4*)
|
||||
brmPI_2 : REAL := 1.5708; (*PI/2*)
|
||||
brmLN10 : REAL := 2.30259; (*ln from 10*)
|
||||
brm2_PI : REAL := 0.63662; (*2/PI*)
|
||||
brm1_PI : REAL := 0.31831; (*1/PI*)
|
||||
brmLN2 : REAL := 0.693147; (*ln from 2*)
|
||||
brmPI : REAL := 3.14159; (*PI*)
|
||||
brmE : REAL := 2.71828; (*E*)
|
||||
END_VAR
|
||||
90
Logical/Libraries/AsBrMath/SG3/AsBrMath.h
Normal file
90
Logical/Libraries/AsBrMath/SG3/AsBrMath.h
Normal file
@@ -0,0 +1,90 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASBRMATH_
|
||||
#define _ASBRMATH_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#ifndef _IEC_CONST
|
||||
#define _IEC_CONST _WEAK const
|
||||
#endif
|
||||
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define brm2_SQRTPI 1.12838
|
||||
#define brmSQRT1_2 0.707107
|
||||
#define brmSQRTPI 1.77245
|
||||
#define brmLOG2_E 0.693147
|
||||
#define brmLOG10E 0.434294
|
||||
#define brmIVLN10 0.434294
|
||||
#define brmINVLN2 1.4427
|
||||
#define brmTWOPI 6.28319
|
||||
#define brmSQRT3 1.73205
|
||||
#define brmSQRT2 1.41421
|
||||
#define brmLOG2E 1.4427
|
||||
#define brmLN2LO 1.90821e-010
|
||||
#define brmLN2HI 0.693147
|
||||
#define brm3PI_4 2.35619
|
||||
#define brmPI_4 0.785398
|
||||
#define brmPI_2 1.5708
|
||||
#define brmLN10 2.30259
|
||||
#define brm2_PI 0.63662
|
||||
#define brm1_PI 0.31831
|
||||
#define brmLN2 0.693147
|
||||
#define brmPI 3.14159
|
||||
#define brmE 2.71828
|
||||
#else
|
||||
_IEC_CONST float brm2_SQRTPI = 1.12838;
|
||||
_IEC_CONST float brmSQRT1_2 = 0.707107;
|
||||
_IEC_CONST float brmSQRTPI = 1.77245;
|
||||
_IEC_CONST float brmLOG2_E = 0.693147;
|
||||
_IEC_CONST float brmLOG10E = 0.434294;
|
||||
_IEC_CONST float brmIVLN10 = 0.434294;
|
||||
_IEC_CONST float brmINVLN2 = 1.4427;
|
||||
_IEC_CONST float brmTWOPI = 6.28319;
|
||||
_IEC_CONST float brmSQRT3 = 1.73205;
|
||||
_IEC_CONST float brmSQRT2 = 1.41421;
|
||||
_IEC_CONST float brmLOG2E = 1.4427;
|
||||
_IEC_CONST float brmLN2LO = 1.90821e-010;
|
||||
_IEC_CONST float brmLN2HI = 0.693147;
|
||||
_IEC_CONST float brm3PI_4 = 2.35619;
|
||||
_IEC_CONST float brmPI_4 = 0.785398;
|
||||
_IEC_CONST float brmPI_2 = 1.5708;
|
||||
_IEC_CONST float brmLN10 = 2.30259;
|
||||
_IEC_CONST float brm2_PI = 0.63662;
|
||||
_IEC_CONST float brm1_PI = 0.31831;
|
||||
_IEC_CONST float brmLN2 = 0.693147;
|
||||
_IEC_CONST float brmPI = 3.14159;
|
||||
_IEC_CONST float brmE = 2.71828;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
float brmatan2(float y, float x);
|
||||
float brmceil(float x);
|
||||
float brmcosh(float x);
|
||||
float brmfloor(float x);
|
||||
float brmfmod(float x, float y);
|
||||
float brmfrexp(float x, unsigned long pExp);
|
||||
float brmldexp(float x, signed long exp_val);
|
||||
float brmmodf(float x, unsigned long plp);
|
||||
float brmpow(float x, float y);
|
||||
float brmsinh(float x);
|
||||
float brmtanh(float x);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASBRMATH_ */
|
||||
|
||||
92
Logical/Libraries/AsBrMath/SG4/AsBrMath.h
Normal file
92
Logical/Libraries/AsBrMath/SG4/AsBrMath.h
Normal file
@@ -0,0 +1,92 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASBRMATH_
|
||||
#define _ASBRMATH_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#ifndef _BUR_PUBLIC
|
||||
#define _BUR_PUBLIC
|
||||
#endif
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define brmE 2.71828f
|
||||
#define brmPI 3.14159f
|
||||
#define brmLN2 0.693147f
|
||||
#define brm1_PI 0.31831f
|
||||
#define brm2_PI 0.63662f
|
||||
#define brmLN10 2.30259f
|
||||
#define brmPI_2 1.5708f
|
||||
#define brmPI_4 0.785398f
|
||||
#define brm3PI_4 2.35619f
|
||||
#define brmLN2HI 0.693147f
|
||||
#define brmLN2LO 1.90821e-10f
|
||||
#define brmLOG2E 1.4427f
|
||||
#define brmSQRT2 1.41421f
|
||||
#define brmSQRT3 1.73205f
|
||||
#define brmTWOPI 6.28319f
|
||||
#define brmINVLN2 1.4427f
|
||||
#define brmIVLN10 0.434294f
|
||||
#define brmLOG10E 0.434294f
|
||||
#define brmLOG2_E 0.693147f
|
||||
#define brmSQRTPI 1.77245f
|
||||
#define brmSQRT1_2 0.707107f
|
||||
#define brm2_SQRTPI 1.12838f
|
||||
#else
|
||||
#ifndef _GLOBAL_CONST
|
||||
#define _GLOBAL_CONST _WEAK const
|
||||
#endif
|
||||
_GLOBAL_CONST float brmE;
|
||||
_GLOBAL_CONST float brmPI;
|
||||
_GLOBAL_CONST float brmLN2;
|
||||
_GLOBAL_CONST float brm1_PI;
|
||||
_GLOBAL_CONST float brm2_PI;
|
||||
_GLOBAL_CONST float brmLN10;
|
||||
_GLOBAL_CONST float brmPI_2;
|
||||
_GLOBAL_CONST float brmPI_4;
|
||||
_GLOBAL_CONST float brm3PI_4;
|
||||
_GLOBAL_CONST float brmLN2HI;
|
||||
_GLOBAL_CONST float brmLN2LO;
|
||||
_GLOBAL_CONST float brmLOG2E;
|
||||
_GLOBAL_CONST float brmSQRT2;
|
||||
_GLOBAL_CONST float brmSQRT3;
|
||||
_GLOBAL_CONST float brmTWOPI;
|
||||
_GLOBAL_CONST float brmINVLN2;
|
||||
_GLOBAL_CONST float brmIVLN10;
|
||||
_GLOBAL_CONST float brmLOG10E;
|
||||
_GLOBAL_CONST float brmLOG2_E;
|
||||
_GLOBAL_CONST float brmSQRTPI;
|
||||
_GLOBAL_CONST float brmSQRT1_2;
|
||||
_GLOBAL_CONST float brm2_SQRTPI;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
_BUR_PUBLIC float brmatan2(float y, float x);
|
||||
_BUR_PUBLIC float brmceil(float x);
|
||||
_BUR_PUBLIC float brmcosh(float x);
|
||||
_BUR_PUBLIC float brmfloor(float x);
|
||||
_BUR_PUBLIC float brmfmod(float x, float y);
|
||||
_BUR_PUBLIC float brmfrexp(float x, unsigned long pExp);
|
||||
_BUR_PUBLIC float brmldexp(float x, signed long exp_val);
|
||||
_BUR_PUBLIC float brmmodf(float x, unsigned long plp);
|
||||
_BUR_PUBLIC float brmpow(float x, float y);
|
||||
_BUR_PUBLIC float brmsinh(float x);
|
||||
_BUR_PUBLIC float brmtanh(float x);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASBRMATH_ */
|
||||
|
||||
90
Logical/Libraries/AsBrMath/SGC/AsBrMath.h
Normal file
90
Logical/Libraries/AsBrMath/SGC/AsBrMath.h
Normal file
@@ -0,0 +1,90 @@
|
||||
/* Automation Studio generated header file */
|
||||
/* Do not edit ! */
|
||||
|
||||
#ifndef _ASBRMATH_
|
||||
#define _ASBRMATH_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <bur/plctypes.h>
|
||||
|
||||
#ifndef _IEC_CONST
|
||||
#define _IEC_CONST _WEAK const
|
||||
#endif
|
||||
|
||||
/* Constants */
|
||||
#ifdef _REPLACE_CONST
|
||||
#define brm2_SQRTPI 1.12838
|
||||
#define brmSQRT1_2 0.707107
|
||||
#define brmSQRTPI 1.77245
|
||||
#define brmLOG2_E 0.693147
|
||||
#define brmLOG10E 0.434294
|
||||
#define brmIVLN10 0.434294
|
||||
#define brmINVLN2 1.4427
|
||||
#define brmTWOPI 6.28319
|
||||
#define brmSQRT3 1.73205
|
||||
#define brmSQRT2 1.41421
|
||||
#define brmLOG2E 1.4427
|
||||
#define brmLN2LO 1.90821e-010
|
||||
#define brmLN2HI 0.693147
|
||||
#define brm3PI_4 2.35619
|
||||
#define brmPI_4 0.785398
|
||||
#define brmPI_2 1.5708
|
||||
#define brmLN10 2.30259
|
||||
#define brm2_PI 0.63662
|
||||
#define brm1_PI 0.31831
|
||||
#define brmLN2 0.693147
|
||||
#define brmPI 3.14159
|
||||
#define brmE 2.71828
|
||||
#else
|
||||
_IEC_CONST float brm2_SQRTPI = 1.12838;
|
||||
_IEC_CONST float brmSQRT1_2 = 0.707107;
|
||||
_IEC_CONST float brmSQRTPI = 1.77245;
|
||||
_IEC_CONST float brmLOG2_E = 0.693147;
|
||||
_IEC_CONST float brmLOG10E = 0.434294;
|
||||
_IEC_CONST float brmIVLN10 = 0.434294;
|
||||
_IEC_CONST float brmINVLN2 = 1.4427;
|
||||
_IEC_CONST float brmTWOPI = 6.28319;
|
||||
_IEC_CONST float brmSQRT3 = 1.73205;
|
||||
_IEC_CONST float brmSQRT2 = 1.41421;
|
||||
_IEC_CONST float brmLOG2E = 1.4427;
|
||||
_IEC_CONST float brmLN2LO = 1.90821e-010;
|
||||
_IEC_CONST float brmLN2HI = 0.693147;
|
||||
_IEC_CONST float brm3PI_4 = 2.35619;
|
||||
_IEC_CONST float brmPI_4 = 0.785398;
|
||||
_IEC_CONST float brmPI_2 = 1.5708;
|
||||
_IEC_CONST float brmLN10 = 2.30259;
|
||||
_IEC_CONST float brm2_PI = 0.63662;
|
||||
_IEC_CONST float brm1_PI = 0.31831;
|
||||
_IEC_CONST float brmLN2 = 0.693147;
|
||||
_IEC_CONST float brmPI = 3.14159;
|
||||
_IEC_CONST float brmE = 2.71828;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* Prototyping of functions and function blocks */
|
||||
float brmatan2(float y, float x);
|
||||
float brmceil(float x);
|
||||
float brmcosh(float x);
|
||||
float brmfloor(float x);
|
||||
float brmfmod(float x, float y);
|
||||
float brmfrexp(float x, unsigned long pExp);
|
||||
float brmldexp(float x, signed long exp_val);
|
||||
float brmmodf(float x, unsigned long plp);
|
||||
float brmpow(float x, float y);
|
||||
float brmsinh(float x);
|
||||
float brmtanh(float x);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
#endif /* _ASBRMATH_ */
|
||||
|
||||
9
Logical/Libraries/AsBrMath/binary.lby
Normal file
9
Logical/Libraries/AsBrMath/binary.lby
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio FileVersion="4.9"?>
|
||||
<Library SubType="binary" Description="This library integrates mathematical functions such as angle functions, rounding off, etc. into the program." xmlns="http://br-automation.co.at/AS/Library">
|
||||
<Files>
|
||||
<File>AsBrMath.fun</File>
|
||||
<File>AsBrMath.typ</File>
|
||||
<File>AsBrMath.var</File>
|
||||
</Files>
|
||||
</Library>
|
||||
80
Logical/Libraries/AsBrStr/AsBrStr.fun
Normal file
80
Logical/Libraries/AsBrStr/AsBrStr.fun
Normal file
@@ -0,0 +1,80 @@
|
||||
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsftoa : UINT (*converts a REAL value into a character string*)
|
||||
VAR_INPUT
|
||||
value :REAL; (*REAL (FLOAT) value to be converted into a character string*)
|
||||
pString :UDINT; (*pointer to the destination character string*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsatof : REAL (*converts a character string into a REAL (FLOAT) value*)
|
||||
VAR_INPUT
|
||||
pString :UDINT; (*pointer to the character string to be converted*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsatod : LREAL (*converts a character string into a LREAL (DOUBLE) value*)
|
||||
VAR_INPUT
|
||||
pString :UDINT; (*pointer to the character string to be converted*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsitoa : UINT (*converts a DINT value into a character string*)
|
||||
VAR_INPUT
|
||||
value :DINT; (*numerical value to be converted into a string*)
|
||||
pString :UDINT; (*pointer to the destination character string*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsatoi : DINT (*converts a character string into a DINT value*)
|
||||
VAR_INPUT
|
||||
pString :UDINT; (*pointer to the character string to be converted*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsmemset : UDINT (*fills the memory area with specific values*)
|
||||
VAR_INPUT
|
||||
pDest :UDINT; (*pointer to the destination memory*)
|
||||
value :USINT; (*initialization value*)
|
||||
length :UDINT; (*number of bytes to be initialized*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsmemcpy : UDINT (*copies the memory area*)
|
||||
VAR_INPUT
|
||||
pDest :UDINT; (*pointer to the destination memory*)
|
||||
pSrc :UDINT; (*pointer to the data to be copied*)
|
||||
length :UDINT; (*size of bytes to be copied*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsmemmove : UDINT (*copies the memory area (even if the memory areas overlap)*)
|
||||
VAR_INPUT
|
||||
pDest :UDINT; (*pointer to the destination memory*)
|
||||
pSrc :UDINT; (*pointer to the data to be copied*)
|
||||
length :UDINT; (*size of bytes to be copied*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsmemcmp : DINT (*compares memory areas*)
|
||||
VAR_INPUT
|
||||
pMem1 :UDINT; (*pointer to the memory area 1*)
|
||||
pMem2 :UDINT; (*pointer to the memory area 2*)
|
||||
length :UDINT; (*size of bytes to be checked*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsstrcat : UDINT (*attaches character strings to one another*)
|
||||
VAR_INPUT
|
||||
pDest :UDINT; (*pointer to the destination character string*)
|
||||
pSrc :UDINT; (*pointer to the source character string*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsstrlen : UDINT (*provides the length of a character string*)
|
||||
VAR_INPUT
|
||||
pString :UDINT; (*pointer to the source character string*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsstrcpy : UDINT (*copies one character string into another*)
|
||||
VAR_INPUT
|
||||
pDest :UDINT; (*pointer to the destination character string*)
|
||||
pSrc :UDINT; (*pointer to the source character string*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
{REDUND_CONTEXT} {REDUND_UNREPLICABLE} FUNCTION brsstrcmp : DINT (*compares two character strings*)
|
||||
VAR_INPUT
|
||||
pString1 :UDINT; (*pointer to the first character string*)
|
||||
pString2 :UDINT; (*pointer to the second character string*)
|
||||
END_VAR
|
||||
END_FUNCTION
|
||||
|
||||
4
Logical/Libraries/AsBrStr/AsBrStr.typ
Normal file
4
Logical/Libraries/AsBrStr/AsBrStr.typ
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
TYPE
|
||||
|
||||
END_TYPE
|
||||
4
Logical/Libraries/AsBrStr/AsBrStr.var
Normal file
4
Logical/Libraries/AsBrStr/AsBrStr.var
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
VAR CONSTANT
|
||||
|
||||
END_VAR
|
||||
9
Logical/Libraries/AsBrStr/Binary.lby
Normal file
9
Logical/Libraries/AsBrStr/Binary.lby
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?AutomationStudio Version=3.0.0.0?>
|
||||
<Library xmlns="http://br-automation.co.at/AS/Library" Description="The AsBrStr Library contains FBKs for memory and character string handling.">
|
||||
<Files>
|
||||
<File>AsBrStr.fun</File>
|
||||
<File>AsBrStr.typ</File>
|
||||
<File>AsBrStr.var</File>
|
||||
</Files>
|
||||
</Library>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user