commit
495a0fba68
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
[CameraParam]
|
||||
Shutter=80000
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,982 @@
|
||||
<EtherCATConfig>
|
||||
<Config>
|
||||
<Master AdapterIndex="0" IoUpdateFreq="4" StackDebugLevel="0">
|
||||
<Info>
|
||||
<Name>GOOGOL EtherCAT Master</Name>
|
||||
<Destination>FFFFFFFFFFFF</Destination>
|
||||
<Source>000000000000</Source>
|
||||
<EtherType>A488</EtherType>
|
||||
</Info>
|
||||
</Master>
|
||||
<Slave>
|
||||
<Info>
|
||||
<Name>SV660_1Axis_00913</Name>
|
||||
<VendorId>1048576</VendorId>
|
||||
<ProductCode>786701</ProductCode>
|
||||
<RevisionNo>65536</RevisionNo>
|
||||
<SerialNo>65536</SerialNo>
|
||||
<DevType>1</DevType>
|
||||
<NChannel>1</NChannel>
|
||||
</Info>
|
||||
<ProcessData>
|
||||
<Sm2>
|
||||
<Type>Outputs</Type>
|
||||
<DefaultSize>12</DefaultSize>
|
||||
<StartAddress>6144</StartAddress>
|
||||
<ControlByte>100</ControlByte>
|
||||
<Enable>true</Enable>
|
||||
<Pdo>5889</Pdo>
|
||||
</Sm2>
|
||||
<Sm3>
|
||||
<Type>Inputs</Type>
|
||||
<DefaultSize>28</DefaultSize>
|
||||
<StartAddress>7168</StartAddress>
|
||||
<ControlByte>32</ControlByte>
|
||||
<Enable>true</Enable>
|
||||
<Pdo>6913</Pdo>
|
||||
</Sm3>
|
||||
<RxPdo Fixed="true" Mandatory="false" Sm="2" Virtual="false">
|
||||
<Index>#x1701</Index>
|
||||
<Name LcId="1033">Outputs</Name>
|
||||
<Exclude>#x1600</Exclude>
|
||||
<Exclude>#x1702</Exclude>
|
||||
<Exclude>#x1703</Exclude>
|
||||
<Exclude>#x1704</Exclude>
|
||||
<Exclude>#x1705</Exclude>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6040</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Controlword</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x607a</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Target position</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60b8</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Touch probe function</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60fe</Index>
|
||||
<SubIndex>#x1</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Physical outputs</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UDINT</DataType>
|
||||
<DefaultValue>2</DefaultValue>
|
||||
</Entry>
|
||||
</RxPdo>
|
||||
<TxPdo Fixed="true" Mandatory="false" Sm="3" Virtual="false">
|
||||
<Index>#x1b01</Index>
|
||||
<Name LcId="1033">Inputs</Name>
|
||||
<Exclude>#x1a00</Exclude>
|
||||
<Exclude>#x1b02</Exclude>
|
||||
<Exclude>#x1b03</Exclude>
|
||||
<Exclude>#x1b04</Exclude>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x603f</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Error code</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6041</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Statusword</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6064</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Position actual value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6077</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Torque actual value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>INT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60f4</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Following error actual value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60b9</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Touch probe status</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60ba</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Touch probe pos1 pos value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60bc</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Touch probe pos2 pos value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60fd</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Digital inputs</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UDINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
</TxPdo>
|
||||
</ProcessData>
|
||||
<Mailbox>
|
||||
<Send>
|
||||
<Start>4096</Start>
|
||||
<Length>256</Length>
|
||||
</Send>
|
||||
<Recv>
|
||||
<Start>5120</Start>
|
||||
<Length>256</Length>
|
||||
</Recv>
|
||||
<Protocol>CoE</Protocol>
|
||||
<CoE>
|
||||
<InitCmds>
|
||||
<InitCmd Fixed="false">
|
||||
<Transition>PS</Transition>
|
||||
<Comment>Modes of operation</Comment>
|
||||
<Timeout>0</Timeout>
|
||||
<Ccs>1</Ccs>
|
||||
<Index>24672</Index>
|
||||
<SubIndex>0</SubIndex>
|
||||
<Data>08</Data>
|
||||
</InitCmd>
|
||||
</InitCmds>
|
||||
</CoE>
|
||||
</Mailbox>
|
||||
<DC>
|
||||
<AssignActivate>768</AssignActivate>
|
||||
<CycleTime0>1000000</CycleTime0>
|
||||
<CycleTime1>1000000</CycleTime1>
|
||||
<ShiftTime0>0</ShiftTime0>
|
||||
<ShiftTime1>0</ShiftTime1>
|
||||
</DC>
|
||||
</Slave>
|
||||
<Slave>
|
||||
<Info>
|
||||
<Name>SV660_1Axis_00913</Name>
|
||||
<VendorId>1048576</VendorId>
|
||||
<ProductCode>786701</ProductCode>
|
||||
<RevisionNo>65536</RevisionNo>
|
||||
<SerialNo>65536</SerialNo>
|
||||
<DevType>1</DevType>
|
||||
<NChannel>1</NChannel>
|
||||
</Info>
|
||||
<ProcessData>
|
||||
<Sm2>
|
||||
<Type>Outputs</Type>
|
||||
<DefaultSize>12</DefaultSize>
|
||||
<StartAddress>6144</StartAddress>
|
||||
<ControlByte>100</ControlByte>
|
||||
<Enable>true</Enable>
|
||||
<Pdo>5889</Pdo>
|
||||
</Sm2>
|
||||
<Sm3>
|
||||
<Type>Inputs</Type>
|
||||
<DefaultSize>28</DefaultSize>
|
||||
<StartAddress>7168</StartAddress>
|
||||
<ControlByte>32</ControlByte>
|
||||
<Enable>true</Enable>
|
||||
<Pdo>6913</Pdo>
|
||||
</Sm3>
|
||||
<RxPdo Fixed="true" Mandatory="false" Sm="2" Virtual="false">
|
||||
<Index>#x1701</Index>
|
||||
<Name LcId="1033">Outputs</Name>
|
||||
<Exclude>#x1600</Exclude>
|
||||
<Exclude>#x1702</Exclude>
|
||||
<Exclude>#x1703</Exclude>
|
||||
<Exclude>#x1704</Exclude>
|
||||
<Exclude>#x1705</Exclude>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6040</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Controlword</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x607a</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Target position</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60b8</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Touch probe function</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60fe</Index>
|
||||
<SubIndex>#x1</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Physical outputs</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UDINT</DataType>
|
||||
<DefaultValue>2</DefaultValue>
|
||||
</Entry>
|
||||
</RxPdo>
|
||||
<TxPdo Fixed="true" Mandatory="false" Sm="3" Virtual="false">
|
||||
<Index>#x1b01</Index>
|
||||
<Name LcId="1033">Inputs</Name>
|
||||
<Exclude>#x1a00</Exclude>
|
||||
<Exclude>#x1b02</Exclude>
|
||||
<Exclude>#x1b03</Exclude>
|
||||
<Exclude>#x1b04</Exclude>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x603f</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Error code</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6041</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Statusword</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6064</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Position actual value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6077</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Torque actual value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>INT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60f4</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Following error actual value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60b9</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Touch probe status</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60ba</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Touch probe pos1 pos value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60bc</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Touch probe pos2 pos value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60fd</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Digital inputs</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UDINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
</TxPdo>
|
||||
</ProcessData>
|
||||
<Mailbox>
|
||||
<Send>
|
||||
<Start>4096</Start>
|
||||
<Length>256</Length>
|
||||
</Send>
|
||||
<Recv>
|
||||
<Start>5120</Start>
|
||||
<Length>256</Length>
|
||||
</Recv>
|
||||
<Protocol>CoE</Protocol>
|
||||
<CoE>
|
||||
<InitCmds>
|
||||
<InitCmd Fixed="false">
|
||||
<Transition>PS</Transition>
|
||||
<Comment>Modes of operation</Comment>
|
||||
<Timeout>0</Timeout>
|
||||
<Ccs>1</Ccs>
|
||||
<Index>24672</Index>
|
||||
<SubIndex>0</SubIndex>
|
||||
<Data>08</Data>
|
||||
</InitCmd>
|
||||
</InitCmds>
|
||||
</CoE>
|
||||
</Mailbox>
|
||||
<DC>
|
||||
<AssignActivate>768</AssignActivate>
|
||||
<CycleTime0>1000000</CycleTime0>
|
||||
<CycleTime1>1000000</CycleTime1>
|
||||
<ShiftTime0>0</ShiftTime0>
|
||||
<ShiftTime1>0</ShiftTime1>
|
||||
</DC>
|
||||
</Slave>
|
||||
<Slave>
|
||||
<Info>
|
||||
<Name>SV660_1Axis_00913</Name>
|
||||
<VendorId>1048576</VendorId>
|
||||
<ProductCode>786701</ProductCode>
|
||||
<RevisionNo>65536</RevisionNo>
|
||||
<SerialNo>65536</SerialNo>
|
||||
<DevType>1</DevType>
|
||||
<NChannel>1</NChannel>
|
||||
</Info>
|
||||
<ProcessData>
|
||||
<Sm2>
|
||||
<Type>Outputs</Type>
|
||||
<DefaultSize>12</DefaultSize>
|
||||
<StartAddress>6144</StartAddress>
|
||||
<ControlByte>100</ControlByte>
|
||||
<Enable>true</Enable>
|
||||
<Pdo>5889</Pdo>
|
||||
</Sm2>
|
||||
<Sm3>
|
||||
<Type>Inputs</Type>
|
||||
<DefaultSize>28</DefaultSize>
|
||||
<StartAddress>7168</StartAddress>
|
||||
<ControlByte>32</ControlByte>
|
||||
<Enable>true</Enable>
|
||||
<Pdo>6913</Pdo>
|
||||
</Sm3>
|
||||
<RxPdo Fixed="true" Mandatory="false" Sm="2" Virtual="false">
|
||||
<Index>#x1701</Index>
|
||||
<Name LcId="1033">Outputs</Name>
|
||||
<Exclude>#x1600</Exclude>
|
||||
<Exclude>#x1702</Exclude>
|
||||
<Exclude>#x1703</Exclude>
|
||||
<Exclude>#x1704</Exclude>
|
||||
<Exclude>#x1705</Exclude>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6040</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Controlword</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x607a</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Target position</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60b8</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Touch probe function</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60fe</Index>
|
||||
<SubIndex>#x1</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Physical outputs</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UDINT</DataType>
|
||||
<DefaultValue>2</DefaultValue>
|
||||
</Entry>
|
||||
</RxPdo>
|
||||
<TxPdo Fixed="true" Mandatory="false" Sm="3" Virtual="false">
|
||||
<Index>#x1b01</Index>
|
||||
<Name LcId="1033">Inputs</Name>
|
||||
<Exclude>#x1a00</Exclude>
|
||||
<Exclude>#x1b02</Exclude>
|
||||
<Exclude>#x1b03</Exclude>
|
||||
<Exclude>#x1b04</Exclude>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x603f</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Error code</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6041</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Statusword</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6064</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Position actual value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6077</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Torque actual value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>INT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60f4</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Following error actual value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60b9</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Touch probe status</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60ba</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Touch probe pos1 pos value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60bc</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Touch probe pos2 pos value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60fd</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Digital inputs</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UDINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
</TxPdo>
|
||||
</ProcessData>
|
||||
<Mailbox>
|
||||
<Send>
|
||||
<Start>4096</Start>
|
||||
<Length>256</Length>
|
||||
</Send>
|
||||
<Recv>
|
||||
<Start>5120</Start>
|
||||
<Length>256</Length>
|
||||
</Recv>
|
||||
<Protocol>CoE</Protocol>
|
||||
<CoE>
|
||||
<InitCmds>
|
||||
<InitCmd Fixed="false">
|
||||
<Transition>PS</Transition>
|
||||
<Comment>Modes of operation</Comment>
|
||||
<Timeout>0</Timeout>
|
||||
<Ccs>1</Ccs>
|
||||
<Index>24672</Index>
|
||||
<SubIndex>0</SubIndex>
|
||||
<Data>08</Data>
|
||||
</InitCmd>
|
||||
</InitCmds>
|
||||
</CoE>
|
||||
</Mailbox>
|
||||
<DC>
|
||||
<AssignActivate>768</AssignActivate>
|
||||
<CycleTime0>1000000</CycleTime0>
|
||||
<CycleTime1>1000000</CycleTime1>
|
||||
<ShiftTime0>0</ShiftTime0>
|
||||
<ShiftTime1>0</ShiftTime1>
|
||||
</DC>
|
||||
</Slave>
|
||||
<Slave>
|
||||
<Info>
|
||||
<Name>SV660_1Axis_00913</Name>
|
||||
<VendorId>1048576</VendorId>
|
||||
<ProductCode>786701</ProductCode>
|
||||
<RevisionNo>65536</RevisionNo>
|
||||
<SerialNo>65536</SerialNo>
|
||||
<DevType>1</DevType>
|
||||
<NChannel>1</NChannel>
|
||||
</Info>
|
||||
<ProcessData>
|
||||
<Sm2>
|
||||
<Type>Outputs</Type>
|
||||
<DefaultSize>12</DefaultSize>
|
||||
<StartAddress>6144</StartAddress>
|
||||
<ControlByte>100</ControlByte>
|
||||
<Enable>true</Enable>
|
||||
<Pdo>5889</Pdo>
|
||||
</Sm2>
|
||||
<Sm3>
|
||||
<Type>Inputs</Type>
|
||||
<DefaultSize>28</DefaultSize>
|
||||
<StartAddress>7168</StartAddress>
|
||||
<ControlByte>32</ControlByte>
|
||||
<Enable>true</Enable>
|
||||
<Pdo>6913</Pdo>
|
||||
</Sm3>
|
||||
<RxPdo Fixed="true" Mandatory="false" Sm="2" Virtual="false">
|
||||
<Index>#x1701</Index>
|
||||
<Name LcId="1033">Outputs</Name>
|
||||
<Exclude>#x1600</Exclude>
|
||||
<Exclude>#x1702</Exclude>
|
||||
<Exclude>#x1703</Exclude>
|
||||
<Exclude>#x1704</Exclude>
|
||||
<Exclude>#x1705</Exclude>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6040</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Controlword</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x607a</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Target position</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60b8</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Touch probe function</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60fe</Index>
|
||||
<SubIndex>#x1</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Physical outputs</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UDINT</DataType>
|
||||
<DefaultValue>2</DefaultValue>
|
||||
</Entry>
|
||||
</RxPdo>
|
||||
<TxPdo Fixed="true" Mandatory="false" Sm="3" Virtual="false">
|
||||
<Index>#x1b01</Index>
|
||||
<Name LcId="1033">Inputs</Name>
|
||||
<Exclude>#x1a00</Exclude>
|
||||
<Exclude>#x1b02</Exclude>
|
||||
<Exclude>#x1b03</Exclude>
|
||||
<Exclude>#x1b04</Exclude>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x603f</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Error code</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6041</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Statusword</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6064</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Position actual value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6077</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Torque actual value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>INT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60f4</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Following error actual value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60b9</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Touch probe status</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60ba</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Touch probe pos1 pos value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60bc</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Touch probe pos2 pos value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60fd</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Digital inputs</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UDINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
</TxPdo>
|
||||
</ProcessData>
|
||||
<Mailbox>
|
||||
<Send>
|
||||
<Start>4096</Start>
|
||||
<Length>256</Length>
|
||||
</Send>
|
||||
<Recv>
|
||||
<Start>5120</Start>
|
||||
<Length>256</Length>
|
||||
</Recv>
|
||||
<Protocol>CoE</Protocol>
|
||||
<CoE>
|
||||
<InitCmds>
|
||||
<InitCmd Fixed="false">
|
||||
<Transition>PS</Transition>
|
||||
<Comment>Modes of operation</Comment>
|
||||
<Timeout>0</Timeout>
|
||||
<Ccs>1</Ccs>
|
||||
<Index>24672</Index>
|
||||
<SubIndex>0</SubIndex>
|
||||
<Data>08</Data>
|
||||
</InitCmd>
|
||||
</InitCmds>
|
||||
</CoE>
|
||||
</Mailbox>
|
||||
<DC>
|
||||
<AssignActivate>768</AssignActivate>
|
||||
<CycleTime0>1000000</CycleTime0>
|
||||
<CycleTime1>1000000</CycleTime1>
|
||||
<ShiftTime0>0</ShiftTime0>
|
||||
<ShiftTime1>0</ShiftTime1>
|
||||
</DC>
|
||||
</Slave>
|
||||
<Slave>
|
||||
<Info>
|
||||
<Name>SV660_1Axis_00913</Name>
|
||||
<VendorId>1048576</VendorId>
|
||||
<ProductCode>786701</ProductCode>
|
||||
<RevisionNo>65536</RevisionNo>
|
||||
<SerialNo>65536</SerialNo>
|
||||
<DevType>1</DevType>
|
||||
<NChannel>1</NChannel>
|
||||
</Info>
|
||||
<ProcessData>
|
||||
<Sm2>
|
||||
<Type>Outputs</Type>
|
||||
<DefaultSize>12</DefaultSize>
|
||||
<StartAddress>6144</StartAddress>
|
||||
<ControlByte>100</ControlByte>
|
||||
<Enable>true</Enable>
|
||||
<Pdo>5889</Pdo>
|
||||
</Sm2>
|
||||
<Sm3>
|
||||
<Type>Inputs</Type>
|
||||
<DefaultSize>28</DefaultSize>
|
||||
<StartAddress>7168</StartAddress>
|
||||
<ControlByte>32</ControlByte>
|
||||
<Enable>true</Enable>
|
||||
<Pdo>6913</Pdo>
|
||||
</Sm3>
|
||||
<RxPdo Fixed="true" Mandatory="false" Sm="2" Virtual="false">
|
||||
<Index>#x1701</Index>
|
||||
<Name LcId="1033">Outputs</Name>
|
||||
<Exclude>#x1600</Exclude>
|
||||
<Exclude>#x1702</Exclude>
|
||||
<Exclude>#x1703</Exclude>
|
||||
<Exclude>#x1704</Exclude>
|
||||
<Exclude>#x1705</Exclude>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6040</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Controlword</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x607a</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Target position</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60b8</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Touch probe function</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60fe</Index>
|
||||
<SubIndex>#x1</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Physical outputs</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UDINT</DataType>
|
||||
<DefaultValue>2</DefaultValue>
|
||||
</Entry>
|
||||
</RxPdo>
|
||||
<TxPdo Fixed="true" Mandatory="false" Sm="3" Virtual="false">
|
||||
<Index>#x1b01</Index>
|
||||
<Name LcId="1033">Inputs</Name>
|
||||
<Exclude>#x1a00</Exclude>
|
||||
<Exclude>#x1b02</Exclude>
|
||||
<Exclude>#x1b03</Exclude>
|
||||
<Exclude>#x1b04</Exclude>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x603f</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Error code</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6041</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Statusword</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6064</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Position actual value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x6077</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Torque actual value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>INT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60f4</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Following error actual value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60b9</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>16</BitLen>
|
||||
<Name LcId="1033">Touch probe status</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60ba</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Touch probe pos1 pos value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60bc</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Touch probe pos2 pos value</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>DINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
<Entry Fixed="false">
|
||||
<Index>#x60fd</Index>
|
||||
<SubIndex>#x0</SubIndex>
|
||||
<BitLen>32</BitLen>
|
||||
<Name LcId="1033">Digital inputs</Name>
|
||||
<Comment></Comment>
|
||||
<DataType>UDINT</DataType>
|
||||
<DefaultValue>0</DefaultValue>
|
||||
</Entry>
|
||||
</TxPdo>
|
||||
</ProcessData>
|
||||
<Mailbox>
|
||||
<Send>
|
||||
<Start>4096</Start>
|
||||
<Length>256</Length>
|
||||
</Send>
|
||||
<Recv>
|
||||
<Start>5120</Start>
|
||||
<Length>256</Length>
|
||||
</Recv>
|
||||
<Protocol>CoE</Protocol>
|
||||
<CoE>
|
||||
<InitCmds>
|
||||
<InitCmd Fixed="false">
|
||||
<Transition>PS</Transition>
|
||||
<Comment>Modes of operation</Comment>
|
||||
<Timeout>0</Timeout>
|
||||
<Ccs>1</Ccs>
|
||||
<Index>24672</Index>
|
||||
<SubIndex>0</SubIndex>
|
||||
<Data>08</Data>
|
||||
</InitCmd>
|
||||
</InitCmds>
|
||||
</CoE>
|
||||
</Mailbox>
|
||||
<DC>
|
||||
<AssignActivate>768</AssignActivate>
|
||||
<CycleTime0>1000000</CycleTime0>
|
||||
<CycleTime1>1000000</CycleTime1>
|
||||
<ShiftTime0>0</ShiftTime0>
|
||||
<ShiftTime1>0</ShiftTime1>
|
||||
</DC>
|
||||
</Slave>
|
||||
</Config>
|
||||
</EtherCATConfig>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,9 @@
|
||||
[Gain Info]
|
||||
G1 Gain=0
|
||||
G2 Gain=0
|
||||
R Gain=0
|
||||
B Gain=0
|
||||
[Snap Control Info]
|
||||
Trig Freq.=12
|
||||
[Exposure Integration Row Info]
|
||||
Integration Rows=1501
|
@ -0,0 +1,7 @@
|
||||
[Gain Info]
|
||||
G1 Gain=0
|
||||
G2 Gain=0
|
||||
R Gain=0
|
||||
B Gain=0
|
||||
[Exposure Integration Row Info]
|
||||
Integration Rows=2199
|
@ -0,0 +1,7 @@
|
||||
[Gain Info]
|
||||
G1 Gain=0
|
||||
G2 Gain=0
|
||||
R Gain=0
|
||||
B Gain=0
|
||||
[Exposure Integration Row Info]
|
||||
Integration Rows=2199
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 4.8 MiB |
Binary file not shown.
@ -0,0 +1,31 @@
|
||||
[axisParam]
|
||||
xAxisTakeProduct=-47
|
||||
zAxisFront=-304
|
||||
xAxisFront=-248
|
||||
zAxisTop=0
|
||||
xAxisTop=0
|
||||
|
||||
xAxisFirst=-273
|
||||
zAxisFirstLogo=-279.5
|
||||
zAxisFirstSerial=-280.5
|
||||
zAxisSecondLogo=-279.5
|
||||
zAxisSecondR=-281.5
|
||||
minRAxisFirst=-27.85
|
||||
minRAxisSecond=22.1
|
||||
xAxisButtom=-276
|
||||
zAxisButtom=-280
|
||||
minRBottom=47.35
|
||||
xAxisCameraPos=-200
|
||||
|
||||
frontXOffset=0
|
||||
frontYOffset=0
|
||||
topXOffset=0
|
||||
topYOffset=0
|
||||
FirstLogoXOffset=0
|
||||
FirstLogoYOffset=0
|
||||
FirstSerialXOffset=0
|
||||
FirstSerialYOffset=0
|
||||
SecondLogoXOffset=0
|
||||
SecondLogoYOffset=0
|
||||
SecondRXOffset=0
|
||||
SecondRYOffset=0
|
@ -0,0 +1,25 @@
|
||||
[axisParam]
|
||||
xAxisTakeProduct=2
|
||||
zAxisFront=0
|
||||
xAxisFront=2
|
||||
zAxisTop=0
|
||||
xAxisTop=2
|
||||
zAxisSide=0
|
||||
xAxisFirstLogo=2
|
||||
xAxisFirstSerial=2
|
||||
xAxisSecondLogo=2
|
||||
xAxisSecondR=2
|
||||
rAxis=0
|
||||
|
||||
frontXOffset=0
|
||||
frontYOffset=0
|
||||
topXOffset=0
|
||||
topYOffset=0
|
||||
FirstLogoXOffset=0
|
||||
FirstLogoYOffset=0
|
||||
FirstSerialXOffset=0
|
||||
FirstSerialYOffset=0
|
||||
SecondLogoXOffset=0
|
||||
SecondLogoYOffset=0
|
||||
SecondRXOffset=0
|
||||
SecondRYOffset=0
|
@ -0,0 +1,25 @@
|
||||
[axisParam]
|
||||
xAxisTakeProduct=2
|
||||
zAxisFront=0
|
||||
xAxisFront=2
|
||||
zAxisTop=0
|
||||
xAxisTop=2
|
||||
zAxisSide=0
|
||||
xAxisFirstLogo=2
|
||||
xAxisFirstSerial=2
|
||||
xAxisSecondLogo=2
|
||||
xAxisSecondR=2
|
||||
rAxis=0
|
||||
|
||||
frontXOffset=0
|
||||
frontYOffset=0
|
||||
topXOffset=0
|
||||
topYOffset=0
|
||||
FirstLogoXOffset=0
|
||||
FirstLogoYOffset=0
|
||||
FirstSerialXOffset=0
|
||||
FirstSerialYOffset=0
|
||||
SecondLogoXOffset=0
|
||||
SecondLogoYOffset=0
|
||||
SecondRXOffset=0
|
||||
SecondRYOffset=0
|
@ -0,0 +1,25 @@
|
||||
[axisParam]
|
||||
xAxisTakeProduct=2
|
||||
zAxisFront=0
|
||||
xAxisFront=2
|
||||
zAxisTop=0
|
||||
xAxisTop=2
|
||||
zAxisSide=0
|
||||
xAxisFirstLogo=2
|
||||
xAxisFirstSerial=2
|
||||
xAxisSecondLogo=2
|
||||
xAxisSecondR=2
|
||||
rAxis=0
|
||||
|
||||
frontXOffset=0
|
||||
frontYOffset=0
|
||||
topXOffset=0
|
||||
topYOffset=0
|
||||
FirstLogoXOffset=0
|
||||
FirstLogoYOffset=0
|
||||
FirstSerialXOffset=0
|
||||
FirstSerialYOffset=0
|
||||
SecondLogoXOffset=0
|
||||
SecondLogoYOffset=0
|
||||
SecondRXOffset=0
|
||||
SecondRYOffset=0
|
@ -0,0 +1,25 @@
|
||||
[axisParam]
|
||||
xAxisTakeProduct=2
|
||||
zAxisFront=0
|
||||
xAxisFront=2
|
||||
zAxisTop=0
|
||||
xAxisTop=2
|
||||
zAxisSide=0
|
||||
xAxisFirstLogo=2
|
||||
xAxisFirstSerial=2
|
||||
xAxisSecondLogo=2
|
||||
xAxisSecondR=2
|
||||
rAxis=0
|
||||
|
||||
frontXOffset=0
|
||||
frontYOffset=0
|
||||
topXOffset=0
|
||||
topYOffset=0
|
||||
FirstLogoXOffset=0
|
||||
FirstLogoYOffset=0
|
||||
FirstSerialXOffset=0
|
||||
FirstSerialYOffset=0
|
||||
SecondLogoXOffset=0
|
||||
SecondLogoYOffset=0
|
||||
SecondRXOffset=0
|
||||
SecondRYOffset=0
|
@ -0,0 +1,74 @@
|
||||
[axisCass]
|
||||
Name=cass
|
||||
Id=1
|
||||
WorkAcc=0.2
|
||||
WorkDec=0.2
|
||||
WorkMoveSpeed=50
|
||||
HomeAcc=10000
|
||||
HomeDec=10000
|
||||
HomeModel=27
|
||||
HomeStartSpeed=5000
|
||||
HomeEndSpeed=5000
|
||||
PositiveLimit=99
|
||||
NegativeLimit=999
|
||||
PulseTo1mm=1000
|
||||
|
||||
[axisZ]
|
||||
Name=Z
|
||||
Id=5
|
||||
WorkAcc=0.5
|
||||
WorkDec=0.5
|
||||
WorkMoveSpeed=50
|
||||
HomeAcc=10000
|
||||
HomeDec=10000
|
||||
HomeModel=26
|
||||
HomeStartSpeed=10000
|
||||
HomeEndSpeed=5000
|
||||
PositiveLimit=9
|
||||
NegativeLimit=99
|
||||
PulseTo1mm=1000
|
||||
|
||||
[axisX]
|
||||
Name=X
|
||||
Id=4
|
||||
WorkAcc=0.5
|
||||
WorkDec=0.5
|
||||
WorkMoveSpeed=50
|
||||
HomeAcc=10000
|
||||
HomeDec=10000
|
||||
HomeModel=26
|
||||
HomeStartSpeed=10000
|
||||
HomeEndSpeed=5000
|
||||
PositiveLimit=9
|
||||
NegativeLimit=99
|
||||
PulseTo1mm=1000
|
||||
|
||||
[axisMinR]
|
||||
Name=MinR
|
||||
Id=3
|
||||
WorkAcc=0.5
|
||||
WorkDec=0.5
|
||||
WorkMoveSpeed=50
|
||||
HomeAcc=10000
|
||||
HomeDec=10000
|
||||
HomeModel=26
|
||||
HomeStartSpeed=10000
|
||||
HomeEndSpeed=5000
|
||||
PositiveLimit=9
|
||||
NegativeLimit=99
|
||||
PulseTo1mm=1000
|
||||
|
||||
[axisMaxR]
|
||||
Name=MaxR
|
||||
Id=2
|
||||
WorkAcc=0.5
|
||||
WorkDec=0.5
|
||||
WorkMoveSpeed=50
|
||||
HomeAcc=10000
|
||||
HomeDec=10000
|
||||
HomeModel=27
|
||||
HomeStartSpeed=10000
|
||||
HomeEndSpeed=5000
|
||||
PositiveLimit=9
|
||||
NegativeLimit=99
|
||||
PulseTo1mm=1000
|
@ -0,0 +1,6 @@
|
||||
[Cass]
|
||||
cassLayer=6
|
||||
cassWidth=2
|
||||
cassHeight=3
|
||||
cassInitPos=111
|
||||
cassLayerDis=11
|
@ -0,0 +1,3 @@
|
||||
[Xizan]
|
||||
ip=192.168.2.84
|
||||
port=8500
|
Binary file not shown.
@ -0,0 +1,2 @@
|
||||
Regsvr32 E:\LaiPuLaser\marking_scan.dll
|
||||
Regsvr32 D:\program\XYZ-MIRROR-CUT\LaiPuLaser\Debug\HawkvisCtrl.ocx
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 4.8 MiB |
@ -0,0 +1,3 @@
|
||||
0
|
||||
0
|
||||
0.147119
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,3 @@
|
||||
[Project]
|
||||
RunMode=0
|
||||
Debug=1
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,17 @@
|
||||
29.675,-117.29
|
||||
39.675,-117.29
|
||||
49.675,-117.29
|
||||
59.675,-117.29
|
||||
69.675,-117.29
|
||||
29.675,-107.29
|
||||
39.67,-107.29
|
||||
49.67,-107.29
|
||||
59.67,-107.29
|
||||
69.67,-107.29
|
||||
29.675,-97.29
|
||||
39.67,-97.29
|
||||
49.67,-97.29
|
||||
59.67,-97.29
|
||||
69.67,-97.29
|
||||
29.675,-87.29
|
||||
39.67,-87.29
|
Binary file not shown.
@ -0,0 +1,20 @@
|
||||
#include "AddSerialUI.h"
|
||||
|
||||
AddSerialUI::AddSerialUI(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
connect(ui.pushButton_setSerial, SIGNAL(clicked()), this, SLOT(slot_setSerial()));
|
||||
}
|
||||
|
||||
AddSerialUI::~AddSerialUI()
|
||||
{
|
||||
}
|
||||
|
||||
void AddSerialUI::slot_setSerial()
|
||||
{
|
||||
QString serialId = ui.lineEdit->text();
|
||||
emit signal_sendSerial(serialId);
|
||||
ui.lineEdit->clear();
|
||||
this->hide();
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
#pragma once
|
||||
|
||||
#include <QWidget>
|
||||
#include "ui_AddSerialUI.h"
|
||||
|
||||
class AddSerialUI : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
AddSerialUI(QWidget *parent = Q_NULLPTR);
|
||||
~AddSerialUI();
|
||||
|
||||
signals:
|
||||
void signal_sendSerial(QString serialId);
|
||||
|
||||
public slots:
|
||||
void slot_setSerial();
|
||||
|
||||
private:
|
||||
Ui::AddSerialUI ui;
|
||||
};
|
@ -0,0 +1,113 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>AddSerialUI</class>
|
||||
<widget class="QWidget" name="AddSerialUI">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>770</width>
|
||||
<height>560</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>序列号</string>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset resource="Huayue.qrc">
|
||||
<normaloff>:/style/style/logo_laipu.png</normaloff>:/style/style/logo_laipu.png</iconset>
|
||||
</property>
|
||||
<widget class="QWidget" name="layoutWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>80</x>
|
||||
<y>170</y>
|
||||
<width>571</width>
|
||||
<height>181</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="2,8">
|
||||
<property name="spacing">
|
||||
<number>18</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>100</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="Huayue.qrc">:/style/style/logo_serial.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>18</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>请输入序列号</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="lineEdit">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>14</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="pushButton_setSerial">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>14</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>设置</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<layoutdefault spacing="6" margin="11"/>
|
||||
<resources>
|
||||
<include location="Huayue.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
</ui>
|
@ -0,0 +1,247 @@
|
||||
#include "AllConfig.h"
|
||||
|
||||
AllConfig::AllConfig(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
|
||||
connect(ui.pushButton_setProduct, SIGNAL(clicked()), this, SLOT(slot_setProduct()));
|
||||
connect(ui.pushButton_setCoord, SIGNAL(clicked()), this, SLOT(slot_setCoord()));
|
||||
connect(ui.pushButton_setOffset, SIGNAL(clicked()), this, SLOT(slot_setOffset()));
|
||||
connect(ui.pushButton_setAxis, SIGNAL(clicked()), this, SLOT(slot_setAxis()));
|
||||
connect(ui.pushButton_addProduct, SIGNAL(clicked()), this, SLOT(slot_addProduct()));
|
||||
connect(ui.pushButton_deleteProduct, SIGNAL(clicked()), this, SLOT(slot_deleteProduct()));
|
||||
connect(ui.pushButton_setCamera, SIGNAL(clicked()), this, SLOT(slot_setCamera()));
|
||||
|
||||
connect(ui.comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(slot_productNameChange(int)));
|
||||
connect(ui.comboBox_2, SIGNAL(currentIndexChanged(int)), this, SLOT(slot_axisChange(int)));
|
||||
connect(ui.comboBox_3, SIGNAL(currentIndexChanged(int)), this, SLOT(slot_offsetChange(int)));
|
||||
}
|
||||
|
||||
AllConfig::~AllConfig()
|
||||
{
|
||||
}
|
||||
|
||||
void AllConfig::slot_setProduct()
|
||||
{
|
||||
QString cassLayer = ui.lineEdit->text();
|
||||
QString cassXNum = ui.lineEdit_2->text();
|
||||
QString cassYNum = ui.lineEdit_3->text();
|
||||
QString cassInitPos = ui.lineEdit_41->text();
|
||||
QString cassLayerDis = ui.lineEdit_42->text();
|
||||
IniRreadWrite::GetInstance()->SetPoductInfo(cassLayer, cassXNum, cassYNum, cassInitPos, cassLayerDis);
|
||||
|
||||
InitShow();
|
||||
}
|
||||
|
||||
void AllConfig::slot_setCoord()
|
||||
{
|
||||
Product productObj;
|
||||
productObj = IniRreadWrite::GetInstance()->GetProductAxisCoord(ui.comboBox->currentText());
|
||||
|
||||
productObj.productName = ui.comboBox->currentText().toStdString();
|
||||
productObj.xAxisTakeProduct = ui.lineEdit_4->text().toDouble();
|
||||
productObj.zAxisFront = ui.lineEdit_5->text().toDouble();
|
||||
productObj.xAxisFront = ui.lineEdit_6->text().toDouble();
|
||||
productObj.zAxisTop = ui.lineEdit_18->text().toDouble();
|
||||
productObj.xAxisTop = ui.lineEdit_19->text().toDouble();
|
||||
|
||||
productObj.xAxisFirst = ui.lineEdit_20->text().toDouble();
|
||||
productObj.zAxisFirstLogo = ui.lineEdit_21->text().toDouble();
|
||||
productObj.zAxisFirstSerial = ui.lineEdit_22->text().toDouble();
|
||||
productObj.zAxisSecondLogo = ui.lineEdit_23->text().toDouble();
|
||||
productObj.zAxisSecondR = ui.lineEdit_24->text().toDouble();
|
||||
productObj.minRAxisFirst = ui.lineEdit_25->text().toDouble();
|
||||
productObj.minRAxisSecond = ui.lineEdit_43->text().toDouble();
|
||||
productObj.xAxisButtom = ui.lineEdit_44->text().toDouble();
|
||||
productObj.zAxisButtom = ui.lineEdit_46->text().toDouble();
|
||||
productObj.minRBottom = ui.lineEdit_45->text().toDouble();
|
||||
productObj.xAxisCameraPos = ui.lineEdit_47->text().toDouble();
|
||||
|
||||
IniRreadWrite::GetInstance()->SetProductAxisCoord(productObj);
|
||||
|
||||
InitShow();
|
||||
}
|
||||
|
||||
void AllConfig::slot_setOffset()
|
||||
{
|
||||
Product productObj;
|
||||
productObj = IniRreadWrite::GetInstance()->GetProductAxisCoord(ui.comboBox_3->currentText());
|
||||
|
||||
productObj.frontXOffset = ui.lineEdit_29->text().toDouble();
|
||||
productObj.frontYOffset = ui.lineEdit_30->text().toDouble();
|
||||
productObj.topXOffset = ui.lineEdit_31->text().toDouble();
|
||||
productObj.topYOffset = ui.lineEdit_32->text().toDouble();
|
||||
productObj.FirstLogoXOffset = ui.lineEdit_33->text().toDouble();
|
||||
productObj.FirstLogoYOffset = ui.lineEdit_34->text().toDouble();
|
||||
productObj.FirstSerialXOffset = ui.lineEdit_35->text().toDouble();
|
||||
productObj.FirstSerialYOffset = ui.lineEdit_36->text().toDouble();
|
||||
productObj.SecondLogoXOffset = ui.lineEdit_37->text().toDouble();
|
||||
productObj.SecondLogoYOffset = ui.lineEdit_38->text().toDouble();
|
||||
productObj.SecondRXOffset = ui.lineEdit_39->text().toDouble();
|
||||
productObj.SecondRYOffset = ui.lineEdit_40->text().toDouble();
|
||||
|
||||
IniRreadWrite::GetInstance()->SetProductAxisCoord(productObj);
|
||||
|
||||
InitShow();
|
||||
}
|
||||
|
||||
void AllConfig::slot_setAxis()
|
||||
{
|
||||
Axis axisObj;
|
||||
axisObj.name = ui.comboBox_2->currentText().toStdString();
|
||||
axisObj.workAcc = ui.lineEdit_7->text().toDouble();
|
||||
axisObj.workDec = ui.lineEdit_8->text().toDouble();
|
||||
axisObj.workMoveSpeed = ui.lineEdit_9->text().toDouble();
|
||||
axisObj.homeAcc = ui.lineEdit_10->text().toDouble();
|
||||
axisObj.homeDec = ui.lineEdit_11->text().toDouble();
|
||||
axisObj.homeStartSpeed = ui.lineEdit_15->text().toDouble();
|
||||
axisObj.homeEndSpeed = ui.lineEdit_16->text().toDouble();
|
||||
axisObj.homeModel = ui.lineEdit_12->text().toInt();
|
||||
axisObj.positiveLimit = ui.lineEdit_13->text().toDouble();
|
||||
axisObj.negativeLimit = ui.lineEdit_14->text().toDouble();
|
||||
axisObj.pulseTo1mm = ui.lineEdit_17->text().toInt();
|
||||
IniRreadWrite::GetInstance()->SetAxis(axisObj);
|
||||
|
||||
InitShow();
|
||||
}
|
||||
|
||||
void AllConfig::slot_addProduct()
|
||||
{
|
||||
if (ui.lineEdit_26->text().size() > 0 && ui.lineEdit_26->text().indexOf(".") < 0)
|
||||
{
|
||||
IniRreadWrite::GetInstance()->AddProduct(ui.lineEdit_26->text());
|
||||
InitShow();
|
||||
}
|
||||
else
|
||||
{
|
||||
QMessageBox::StandardButton button = QMessageBox::information(
|
||||
nullptr,
|
||||
QString::fromLocal8Bit("提示"),
|
||||
QString::fromLocal8Bit("请输入产品名称,名称中不能包含点"),
|
||||
QMessageBox::Yes,
|
||||
QMessageBox::NoButton);
|
||||
}
|
||||
ui.lineEdit_26->clear();
|
||||
}
|
||||
|
||||
void AllConfig::slot_deleteProduct()
|
||||
{
|
||||
QMessageBox::StandardButton box;
|
||||
box = QMessageBox::question(this,
|
||||
QString::fromLocal8Bit("提示"),
|
||||
QString::fromLocal8Bit("确定要删除该产品吗?"),
|
||||
QMessageBox::Yes | QMessageBox::No);
|
||||
if (box == QMessageBox::No)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else if (box == QMessageBox::Yes)
|
||||
{
|
||||
IniRreadWrite::GetInstance()->DeleteProduct(ui.lineEdit_26->text());
|
||||
InitShow();
|
||||
}
|
||||
ui.lineEdit_26->clear();
|
||||
}
|
||||
|
||||
void AllConfig::slot_productNameChange(int index)
|
||||
{
|
||||
for (auto& iter : IniRreadWrite::GetInstance()->m_allProductVec)
|
||||
{
|
||||
if (ui.comboBox->currentText() == QString::fromStdString(iter.productName))
|
||||
{
|
||||
ui.lineEdit_4->setText(QString::number(iter.xAxisTakeProduct));
|
||||
ui.lineEdit_5->setText(QString::number(iter.zAxisFront));
|
||||
ui.lineEdit_6->setText(QString::number(iter.xAxisFront));
|
||||
ui.lineEdit_18->setText(QString::number(iter.zAxisTop));
|
||||
ui.lineEdit_19->setText(QString::number(iter.xAxisTop));
|
||||
|
||||
ui.lineEdit_20->setText(QString::number(iter.xAxisFirst));
|
||||
ui.lineEdit_21->setText(QString::number(iter.zAxisFirstLogo));
|
||||
ui.lineEdit_22->setText(QString::number(iter.zAxisFirstSerial));
|
||||
ui.lineEdit_23->setText(QString::number(iter.zAxisSecondLogo));
|
||||
ui.lineEdit_24->setText(QString::number(iter.zAxisSecondR));
|
||||
ui.lineEdit_25->setText(QString::number(iter.minRAxisFirst));
|
||||
ui.lineEdit_43->setText(QString::number(iter.minRAxisSecond));
|
||||
ui.lineEdit_44->setText(QString::number(iter.xAxisButtom));
|
||||
ui.lineEdit_46->setText(QString::number(iter.zAxisButtom));
|
||||
ui.lineEdit_45->setText(QString::number(iter.minRBottom));
|
||||
ui.lineEdit_47->setText(QString::number(iter.xAxisCameraPos));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AllConfig::slot_axisChange(int index)
|
||||
{
|
||||
for (auto& iter : IniRreadWrite::GetInstance()->m_allAxisVec)
|
||||
{
|
||||
if (ui.comboBox_2->currentText() == QString::fromStdString(iter.name))
|
||||
{
|
||||
ui.lineEdit_7->setText(QString::number(iter.workAcc));
|
||||
ui.lineEdit_8->setText(QString::number(iter.workDec));
|
||||
ui.lineEdit_9->setText(QString::number(iter.workMoveSpeed));
|
||||
ui.lineEdit_10->setText(QString::number(iter.homeAcc));
|
||||
ui.lineEdit_11->setText(QString::number(iter.homeDec));
|
||||
ui.lineEdit_15->setText(QString::number(iter.homeStartSpeed));
|
||||
ui.lineEdit_16->setText(QString::number(iter.homeEndSpeed));
|
||||
ui.lineEdit_12->setText(QString::number(iter.homeModel));
|
||||
ui.lineEdit_13->setText(QString::number(iter.positiveLimit));
|
||||
ui.lineEdit_14->setText(QString::number(iter.negativeLimit));
|
||||
ui.lineEdit_17->setText(QString::number(iter.pulseTo1mm));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AllConfig::slot_offsetChange(int index)
|
||||
{
|
||||
for (auto& iter : IniRreadWrite::GetInstance()->m_allProductVec)
|
||||
{
|
||||
if (ui.comboBox_3->currentText() == QString::fromStdString(iter.productName))
|
||||
{
|
||||
ui.lineEdit_29->setText(QString::number(iter.frontXOffset));
|
||||
ui.lineEdit_30->setText(QString::number(iter.frontYOffset));
|
||||
ui.lineEdit_31->setText(QString::number(iter.topXOffset));
|
||||
ui.lineEdit_32->setText(QString::number(iter.topYOffset));
|
||||
ui.lineEdit_33->setText(QString::number(iter.FirstLogoXOffset));
|
||||
ui.lineEdit_34->setText(QString::number(iter.FirstLogoYOffset));
|
||||
ui.lineEdit_35->setText(QString::number(iter.FirstSerialXOffset));
|
||||
ui.lineEdit_36->setText(QString::number(iter.FirstSerialYOffset));
|
||||
ui.lineEdit_37->setText(QString::number(iter.SecondLogoXOffset));
|
||||
ui.lineEdit_38->setText(QString::number(iter.SecondLogoYOffset));
|
||||
ui.lineEdit_39->setText(QString::number(iter.SecondRXOffset));
|
||||
ui.lineEdit_40->setText(QString::number(iter.SecondRYOffset));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AllConfig::slot_setCamera()
|
||||
{
|
||||
Xizan xizanObj;
|
||||
xizanObj.ip = ui.lineEdit_27->text().toStdString();
|
||||
xizanObj.port = ui.lineEdit_28->text().toInt();;
|
||||
IniRreadWrite::GetInstance()->SetCamera(xizanObj);
|
||||
|
||||
InitShow();
|
||||
}
|
||||
|
||||
void AllConfig::InitShow()
|
||||
{
|
||||
ui.lineEdit->setText(QString::number(IniRreadWrite::GetInstance()->m_cass.cassLayer));
|
||||
ui.lineEdit_2->setText(QString::number(IniRreadWrite::GetInstance()->m_cass.cassWidth));
|
||||
ui.lineEdit_3->setText(QString::number(IniRreadWrite::GetInstance()->m_cass.cassHeight));
|
||||
ui.lineEdit_41->setText(QString::number(IniRreadWrite::GetInstance()->m_cass.cassInitPos));
|
||||
ui.lineEdit_42->setText(QString::number(IniRreadWrite::GetInstance()->m_cass.cassLayerDis));
|
||||
|
||||
ui.comboBox->clear();
|
||||
ui.comboBox_3->clear();
|
||||
auto allProductName = IniRreadWrite::GetInstance()->GetAllProductName();
|
||||
ui.comboBox->addItems(allProductName);
|
||||
ui.comboBox_3->addItems(allProductName);
|
||||
|
||||
ui.comboBox_2->clear();
|
||||
QStringList allAxis = { "cass", "Z", "X", "MinR", "MaxR"};
|
||||
ui.comboBox_2->addItems(allAxis);
|
||||
|
||||
ui.lineEdit_27->setText(QString::fromStdString(IniRreadWrite::GetInstance()->m_xizanObj.ip));
|
||||
ui.lineEdit_28->setText(QString::number(IniRreadWrite::GetInstance()->m_xizanObj.port));
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
#pragma once
|
||||
|
||||
#include <QWidget>
|
||||
#include <QMessageBox>
|
||||
#include "ui_AllConfig.h"
|
||||
#include "IniRreadWrite.h"
|
||||
|
||||
class AllConfig : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
AllConfig(QWidget *parent = Q_NULLPTR);
|
||||
~AllConfig();
|
||||
|
||||
public slots:
|
||||
void slot_setProduct();
|
||||
void slot_setCoord();
|
||||
void slot_setOffset();
|
||||
void slot_setAxis();
|
||||
void slot_addProduct();
|
||||
void slot_deleteProduct();
|
||||
void slot_setCamera();
|
||||
void slot_productNameChange(int index);
|
||||
void slot_axisChange(int index);
|
||||
void slot_offsetChange(int index);
|
||||
|
||||
public:
|
||||
void InitShow();
|
||||
private:
|
||||
Ui::AllConfig ui;
|
||||
};
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,14 @@
|
||||
EtherCAT: Googol Technology ECAT Master driver 1.05.020.0
|
||||
EtherCAT: 1 master waiting for devices.
|
||||
EtherCAT 0: 5 slave(s) responding.
|
||||
EtherCAT 0: Slave states: SAFEOP + ERROR.
|
||||
EtherCAT 0: Scanning bus.
|
||||
EtherCAT 0: Bus scanning completed in 1346 ms.
|
||||
Config INFO: Start Config 5 ECAT slaves.
|
||||
EtherCAT 0: Config each slave SDO config info ...
|
||||
EtherCAT 0: Config each slave PDO sync info ...
|
||||
EtherCAT 0: Registering PDO entries...
|
||||
EtherCAT 0: Activating master...
|
||||
EtherCAT 0: Slave states: PREOP .
|
||||
EtherCAT 0: All slaves are in OP mode
|
||||
EtherCAT 0: Slave states: OP .
|
@ -0,0 +1,145 @@
|
||||
#pragma once
|
||||
#ifndef GLOBAL_H
|
||||
#define GLOBAL_H
|
||||
|
||||
#include <vector>
|
||||
#include <QColor>
|
||||
|
||||
static QColor RECT_COLOR = QColor::fromRgb(153, 217, 234);
|
||||
static QColor TEXT_COLOR = QColor::fromRgb(0, 0, 200);
|
||||
|
||||
static int GUGAO_IO_MODULE_0 = 0; //模块0
|
||||
static int GUGAO_IO_MODULE_1 = 1; //模块1
|
||||
|
||||
static int AXIS_CASS = 1;
|
||||
static int AXIS_Z = 5;
|
||||
static int AXIS_X = 4;
|
||||
static int AXIS_MIN_R = 3;
|
||||
static int AXIS_MAX_R = 2;
|
||||
|
||||
static double CASS_INIT_POS = 50;
|
||||
static double X_INIT_POS = 15;
|
||||
static double Z_INIT_POS = -280;
|
||||
static double R_INIT_POS = -2.75;
|
||||
static double X_SAFE_POS = 30;
|
||||
|
||||
static unsigned char IO_YES = 1;
|
||||
static unsigned char IO_NO = 0;
|
||||
|
||||
//固高第1模块内的IO
|
||||
static int OUT_LIGHT_GREEN = 0; //三色灯绿灯
|
||||
static int OUT_LIGHT_YELLOW = 1; //三色灯黄灯
|
||||
static int OUT_LIGHT_RED = 2; //三色灯红灯
|
||||
static int OUT_BLUZZER = 3; //三色灯蜂鸣器
|
||||
|
||||
static int OUT_IO_OPEN_MODEL = 5; //开模IO
|
||||
static int OUT_IO_CLOSE_MODEL = 6; //闭模IO
|
||||
static int OUT_IO_STATION_1_ALLOW = 7; //工位1允许放料
|
||||
static int OUT_IO_STATION_2_ALLOW = 8; //工位2允许取料
|
||||
static int OUT_FORBID_DOOR = 9; //门禁信号
|
||||
|
||||
//固高第2模块内的IO
|
||||
static int OUT_CYLINDER_X = 0; //X定位气缸
|
||||
static int OUT_CYLINDER_Y = 1; //Y定位气缸
|
||||
static int OUT_CYLINDER_Z = 2; //Z定位气缸
|
||||
static int OUT_CYLINDER_MOVE = 3; //平移气缸
|
||||
static int OUT_CYLINDER_CLIP = 4; //平台夹手气缸
|
||||
static int OUT_CYLINDER_CLIP1 = 5; //平台夹手气缸
|
||||
|
||||
//输入IO
|
||||
static int IN_DEVICE_POWER_ON = 0; //设备上电信号
|
||||
static int IN_ALLOW_CLOSE_MODEL = 1; //机械手交互:允许闭模
|
||||
static int IN_STATION_ONE_END = 2; //机械手交互:工位一放料完成
|
||||
static int IN_STATION_TWO_END = 3; //机械手交互:工位二取料完成
|
||||
|
||||
static int IN_CASS_IS_EXIST = 5; //上料料盘有无检测
|
||||
static int IN_CASS_IN_PLACE = 6; //上料料盘升降到位检测
|
||||
|
||||
static int IN_CASS_AXIS_ERROR = 11; //上料料盘升降MotorZ1驱动异常
|
||||
static int IN_AXIS_X_ERROR = 12; //打标平台MotorX驱动异常
|
||||
static int IN_AXIS_R_SMALL_ERROR = 13; //打标平台小旋转MotorR1驱动异常
|
||||
static int IN_AXIS_R_BIG_ERROR = 14; //打标平台大旋转MotorR2驱动异常
|
||||
static int IN_PLATFORM_ERROR = 15; //平台升降MotorZ2驱动异常
|
||||
|
||||
static int IN_STATION_ONE = 0; //工位一检测(放料)
|
||||
static int IN_STATION_TWO = 1; //工位二检测(取料)
|
||||
static int IN_X_POSITION_EXTEND = 2; //X定位气缸伸检测
|
||||
static int IN_X_POSITION_NOT_EXTEND = 3; //X定位气缸缩检测
|
||||
static int IN_Y_POSITION_EXTEND = 4; //Y定位气缸伸检测
|
||||
static int IN_Y_POSITION_NOT_EXTEND = 5; //Y定位气缸缩检测
|
||||
static int IN_Z_POSITION_UP = 6; //Z定位气缸上检测
|
||||
static int IN_Z_POSITION_DOWN = 7; //Z定位气缸下检测
|
||||
static int IN_MOVE_EXTEND = 8; //平移气缸伸检测
|
||||
static int IN_MOVE_NOT_EXTEND = 9; //平移气缸缩检测
|
||||
static int IN_CYLINDER_CLIP_TAUT = 10; //平台夹手夹检测
|
||||
static int IN_CYLINDER_CLIP_NOT_TAUT = 11; //平台夹手松检测
|
||||
|
||||
static int WAIT_IO_TIME = 30000;
|
||||
|
||||
typedef struct {
|
||||
int cassLayer;
|
||||
int cassWidth;
|
||||
int cassHeight;
|
||||
double cassInitPos;
|
||||
double cassLayerDis;
|
||||
}Cass;
|
||||
|
||||
typedef struct {
|
||||
std::string name;
|
||||
int id;
|
||||
double workAcc;
|
||||
double workDec;
|
||||
double workMoveSpeed;
|
||||
double homeAcc;
|
||||
double homeDec;
|
||||
double homeStartSpeed;
|
||||
double homeEndSpeed;
|
||||
int homeModel;
|
||||
double positiveLimit;
|
||||
double negativeLimit;
|
||||
int pulseTo1mm;
|
||||
}Axis;
|
||||
|
||||
typedef struct {
|
||||
std::string productName;
|
||||
double xAxisTakeProduct;
|
||||
|
||||
double zAxisFront;
|
||||
double xAxisFront;
|
||||
|
||||
double zAxisTop;
|
||||
double xAxisTop;
|
||||
|
||||
double xAxisFirst;
|
||||
double zAxisFirstLogo;
|
||||
double zAxisFirstSerial;
|
||||
double zAxisSecondLogo;
|
||||
double zAxisSecondR;
|
||||
double minRAxisFirst;
|
||||
double minRAxisSecond;
|
||||
double xAxisButtom;
|
||||
double zAxisButtom;
|
||||
double minRBottom;
|
||||
double xAxisCameraPos;
|
||||
|
||||
double frontXOffset;
|
||||
double frontYOffset;
|
||||
double topXOffset;
|
||||
double topYOffset;
|
||||
double FirstLogoXOffset;
|
||||
double FirstLogoYOffset;
|
||||
double FirstSerialXOffset;
|
||||
double FirstSerialYOffset;
|
||||
double SecondLogoXOffset;
|
||||
double SecondLogoYOffset;
|
||||
double SecondRXOffset;
|
||||
double SecondRYOffset;
|
||||
|
||||
}Product;
|
||||
|
||||
typedef struct {
|
||||
std::string ip;
|
||||
int port;
|
||||
}Xizan;
|
||||
|
||||
#endif
|
@ -0,0 +1,51 @@
|
||||
#include "GugaoCardManage.h"
|
||||
|
||||
GugaoCardManage* GugaoCardManage::m_instance = NULL;
|
||||
CMotorDriver* GugaoCardManage::m_motorDriver = NULL;
|
||||
|
||||
bool GugaoCardManage::m_isInitCard = false;
|
||||
|
||||
GugaoCardManage::GugaoCardManage()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
GugaoCardManage::~GugaoCardManage()
|
||||
{
|
||||
}
|
||||
|
||||
void GugaoCardManage::InitAllAxisParam()
|
||||
{
|
||||
m_motorDriver->ClearAllAxis();
|
||||
for (auto& iter : IniRreadWrite::GetInstance()->m_allAxisVec)
|
||||
{
|
||||
MotorAttr motorAttrObj;
|
||||
motorAttrObj.AxisId(iter.id);
|
||||
motorAttrObj.Vel(iter.workMoveSpeed);
|
||||
motorAttrObj.Acc(iter.workAcc);
|
||||
motorAttrObj.Dec(iter.workDec);
|
||||
motorAttrObj.ReturnAcc(iter.homeAcc);
|
||||
motorAttrObj.ReturnDec(iter.homeDec);
|
||||
motorAttrObj.ReturnHomeMode(iter.homeModel);
|
||||
motorAttrObj.ReturnHomeStartVel(iter.homeStartSpeed);
|
||||
motorAttrObj.ReturnHomeEndVel(iter.homeEndSpeed);
|
||||
motorAttrObj.PositiveLimit(iter.positiveLimit);
|
||||
motorAttrObj.NegativeLimit(iter.negativeLimit);
|
||||
m_motorDriver->AddMotor(motorAttrObj);
|
||||
}
|
||||
}
|
||||
|
||||
void GugaoCardManage::AbsMove(int motorId, double pos, bool waitFinished)
|
||||
{
|
||||
auto m_motor = GugaoCardManage::GetInstance()->m_motor;
|
||||
auto motorObj = std::find_if((*m_motor).begin(), (*m_motor).end(), [&](const MotorAttr &obj)
|
||||
{
|
||||
return obj.AxisId() == motorId;
|
||||
});
|
||||
if (motorObj == (*m_motor).end())
|
||||
{
|
||||
return ;
|
||||
}
|
||||
GugaoCardManage::GetInstance()->AbsMove(motorId, motorObj->PulseTo1mm(), pos, motorObj->Acc(), motorObj->Dec(), motorObj->Vel(), waitFinished);
|
||||
|
||||
}
|
@ -0,0 +1,45 @@
|
||||
#pragma once
|
||||
#include "IGugaoDriver.h"
|
||||
#include "CMotorDriver.h"
|
||||
#include "Global.h"
|
||||
#include "IniRreadWrite.h"
|
||||
class GugaoCardManage
|
||||
{
|
||||
private:
|
||||
GugaoCardManage();
|
||||
~GugaoCardManage();
|
||||
private:
|
||||
static GugaoCardManage* m_instance;
|
||||
static bool m_isInitCard;
|
||||
public:
|
||||
static CMotorDriver* m_motorDriver;
|
||||
public:
|
||||
static CMotorDriver* GetInstance()
|
||||
{
|
||||
if (m_instance == NULL) {
|
||||
m_instance = new GugaoCardManage();
|
||||
m_motorDriver = new CMotorDriver();
|
||||
if (m_isInitCard == false)
|
||||
{
|
||||
std::vector<int> axisVec;
|
||||
for (auto& iter : IniRreadWrite::GetInstance()->m_allAxisVec)
|
||||
{
|
||||
axisVec.push_back(iter.id);
|
||||
}
|
||||
m_motorDriver->OpenCard(axisVec);
|
||||
}
|
||||
}
|
||||
return m_motorDriver;
|
||||
}
|
||||
|
||||
static GugaoCardManage* GetManageInstance()
|
||||
{
|
||||
GetInstance();
|
||||
return m_instance;
|
||||
}
|
||||
|
||||
public:
|
||||
void InitAllAxisParam();
|
||||
void AbsMove(int motorId, double pos, bool waitFinished);
|
||||
};
|
||||
|
@ -0,0 +1,499 @@
|
||||
#include "GugaoCardSet.h"
|
||||
#include "MoveSafeManage.h"
|
||||
#include "MoveSafeManage.h"
|
||||
GugaoCardSet::GugaoCardSet(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
|
||||
connect(ui.pushButton_green, SIGNAL(clicked()), this, SLOT(slot_green()));
|
||||
connect(ui.pushButton_cancelGreen, SIGNAL(clicked()), this, SLOT(slot_cancelGreen()));
|
||||
connect(ui.pushButton_yellow, SIGNAL(clicked()), this, SLOT(slot_yellow()));
|
||||
connect(ui.pushButton_cancelYellow, SIGNAL(clicked()), this, SLOT(slot_cancelYellow()));
|
||||
connect(ui.pushButton_red, SIGNAL(clicked()), this, SLOT(slot_red()));
|
||||
connect(ui.pushButton_cancelRed, SIGNAL(clicked()), this, SLOT(slot_cancelRed()));
|
||||
connect(ui.pushButton_bluzzer, SIGNAL(clicked()), this, SLOT(slot_bluzzer()));
|
||||
connect(ui.pushButton_cancelBluzzer, SIGNAL(clicked()), this, SLOT(slot_cancelBluzzer()));
|
||||
|
||||
connect(ui.pushButton_openModel, SIGNAL(clicked()), this, SLOT(slot_openModel()));
|
||||
connect(ui.pushButton_cancelOpenModel, SIGNAL(clicked()), this, SLOT(slot_cancelOpenModel()));
|
||||
connect(ui.pushButton_closeModel, SIGNAL(clicked()), this, SLOT(slot_closeModel()));
|
||||
connect(ui.pushButton_cancelCloseModel, SIGNAL(clicked()), this, SLOT(slot_cancelCloseModel()));
|
||||
connect(ui.pushButton_stationOne, SIGNAL(clicked()), this, SLOT(slot_stationOne()));
|
||||
connect(ui.pushButton_cancelStationOne, SIGNAL(clicked()), this, SLOT(slot_cancelStationOne()));
|
||||
connect(ui.pushButton_stationTwo, SIGNAL(clicked()), this, SLOT(slot_stationTwo()));
|
||||
connect(ui.pushButton_cancelStationTwo, SIGNAL(clicked()), this, SLOT(slot_cancelStationTwo()));
|
||||
connect(ui.pushButton_forbidDoor, SIGNAL(clicked()), this, SLOT(slot_forbidDoor()));
|
||||
connect(ui.pushButton_cancelForbidDoor, SIGNAL(clicked()), this, SLOT(slot_cancelForbidDoor()));
|
||||
|
||||
connect(ui.pushButton_x, SIGNAL(clicked()), this, SLOT(slot_x()));
|
||||
connect(ui.pushButton_cancelX, SIGNAL(clicked()), this, SLOT(slot_cancelX()));
|
||||
connect(ui.pushButton_y, SIGNAL(clicked()), this, SLOT(slot_y()));
|
||||
connect(ui.pushButton_cancelY, SIGNAL(clicked()), this, SLOT(slot_cancelY()));
|
||||
connect(ui.pushButton_z, SIGNAL(clicked()), this, SLOT(slot_z()));
|
||||
connect(ui.pushButton_cancelZ, SIGNAL(clicked()), this, SLOT(slot_cancelZ()));
|
||||
connect(ui.pushButton_move, SIGNAL(clicked()), this, SLOT(slot_move()));
|
||||
connect(ui.pushButton_cancelMove, SIGNAL(clicked()), this, SLOT(slot_cancelMove()));
|
||||
connect(ui.pushButton_clip, SIGNAL(clicked()), this, SLOT(slot_clip()));
|
||||
connect(ui.pushButton_cancleClip, SIGNAL(clicked()), this, SLOT(slot_cancelClip()));
|
||||
|
||||
connect(ui.pushButton_cassAbs, SIGNAL(clicked()), this, SLOT(slot_cassAbs()));
|
||||
connect(ui.pushButton_cassRel, SIGNAL(clicked()), this, SLOT(slot_cassRel()));
|
||||
connect(ui.pushButton_cassHome, SIGNAL(clicked()), this, SLOT(slot_cassHome()));
|
||||
connect(ui.pushButton_zAbs, SIGNAL(clicked()), this, SLOT(slot_zAbs()));
|
||||
connect(ui.pushButton_zRel, SIGNAL(clicked()), this, SLOT(slot_zRel()));
|
||||
connect(ui.pushButton_zHome, SIGNAL(clicked()), this, SLOT(slot_zHome()));
|
||||
connect(ui.pushButton_xAbs, SIGNAL(clicked()), this, SLOT(slot_xAbs()));
|
||||
connect(ui.pushButton_xRel, SIGNAL(clicked()), this, SLOT(slot_xRel()));
|
||||
connect(ui.pushButton_xHome, SIGNAL(clicked()), this, SLOT(slot_xHome()));
|
||||
connect(ui.pushButton_rAbs, SIGNAL(clicked()), this, SLOT(slot_rAbs()));
|
||||
connect(ui.pushButton_rRel, SIGNAL(clicked()), this, SLOT(slot_rRel()));
|
||||
connect(ui.pushButton_rHome, SIGNAL(clicked()), this, SLOT(slot_rHome()));
|
||||
|
||||
connect(ui.pushButton_maxRAbs, SIGNAL(clicked()), this, SLOT(slot_maxRAbs()));
|
||||
connect(ui.pushButton_MaxRRel, SIGNAL(clicked()), this, SLOT(slot_MaxRRel()));
|
||||
connect(ui.pushButton_maxRHome, SIGNAL(clicked()), this, SLOT(slot_maxRHome()));
|
||||
|
||||
connect(ui.pushButton_front, SIGNAL(clicked()), this, SLOT(slot_front()));
|
||||
connect(ui.pushButton_top, SIGNAL(clicked()), this, SLOT(slot_top()));
|
||||
connect(ui.pushButton_firstLogo, SIGNAL(clicked()), this, SLOT(slot_firstLogo()));
|
||||
connect(ui.pushButton_firstSerial, SIGNAL(clicked()), this, SLOT(slot_firstSerial()));
|
||||
connect(ui.pushButton_secondLogo, SIGNAL(clicked()), this, SLOT(slot_secondLogo()));
|
||||
connect(ui.pushButton_secondR, SIGNAL(clicked()), this, SLOT(slot_secondR()));
|
||||
connect(ui.pushButton_takeProduct, SIGNAL(clicked()), this, SLOT(slot_takeProduct()));
|
||||
|
||||
std::vector<QCheckBox *> allIoVec = { ui.checkBox_1, ui.checkBox_2,ui.checkBox_3, ui.checkBox_4, ui.checkBox_5,
|
||||
ui.checkBox_6, ui.checkBox_7, ui.checkBox_8, ui.checkBox_9, ui.checkBox_10, ui.checkBox_11, ui.checkBox_12,
|
||||
ui.checkBox_13, ui.checkBox_14, ui.checkBox_15, ui.checkBox_16, ui.checkBox_17, ui.checkBox_18,
|
||||
ui.checkBox_19, ui.checkBox_20, ui.checkBox_21, ui.checkBox_22, ui.checkBox_23, };
|
||||
int i = 1;
|
||||
for (auto& iter : allIoVec)
|
||||
{
|
||||
QString styleSheet;
|
||||
styleSheet.clear();
|
||||
styleSheet.append("#checkBox");
|
||||
styleSheet.append("_");
|
||||
styleSheet.append(QString::number(i));
|
||||
styleSheet.append("::indicator{width: 0px;}");
|
||||
QIcon icon(":/style/style/logo_no.png");
|
||||
iter->setIcon(icon);
|
||||
iter->setStyleSheet(styleSheet);
|
||||
i++;
|
||||
}
|
||||
|
||||
m_yes = QIcon::fromTheme(":/style/style/logo_ok.png");
|
||||
m_no = QIcon::fromTheme(":/style/style/logo_no.png");
|
||||
|
||||
m_IoModel1Map.insert(std::make_pair(IN_DEVICE_POWER_ON, ui.checkBox_1));
|
||||
m_IoModel1Map.insert(std::make_pair(IN_ALLOW_CLOSE_MODEL, ui.checkBox_2));
|
||||
m_IoModel1Map.insert(std::make_pair(IN_STATION_ONE_END, ui.checkBox_3));
|
||||
m_IoModel1Map.insert(std::make_pair(IN_STATION_TWO_END, ui.checkBox_4));
|
||||
m_IoModel1Map.insert(std::make_pair(IN_CASS_IS_EXIST, ui.checkBox_5));
|
||||
m_IoModel1Map.insert(std::make_pair(IN_CASS_IN_PLACE, ui.checkBox_6));
|
||||
|
||||
m_IoModel1Map.insert(std::make_pair(IN_CASS_AXIS_ERROR, ui.checkBox_7));
|
||||
m_IoModel1Map.insert(std::make_pair(IN_AXIS_X_ERROR, ui.checkBox_8));
|
||||
m_IoModel1Map.insert(std::make_pair(IN_AXIS_R_SMALL_ERROR, ui.checkBox_9));
|
||||
m_IoModel1Map.insert(std::make_pair(IN_AXIS_R_BIG_ERROR, ui.checkBox_10));
|
||||
m_IoModel1Map.insert(std::make_pair(IN_PLATFORM_ERROR, ui.checkBox_11));
|
||||
|
||||
m_IoModel2Map.insert(std::make_pair(IN_STATION_ONE, ui.checkBox_12));
|
||||
m_IoModel2Map.insert(std::make_pair(IN_STATION_TWO, ui.checkBox_13));
|
||||
m_IoModel2Map.insert(std::make_pair(IN_X_POSITION_EXTEND, ui.checkBox_14));
|
||||
m_IoModel2Map.insert(std::make_pair(IN_X_POSITION_NOT_EXTEND, ui.checkBox_15));
|
||||
m_IoModel2Map.insert(std::make_pair(IN_Y_POSITION_EXTEND, ui.checkBox_16));
|
||||
m_IoModel2Map.insert(std::make_pair(IN_Y_POSITION_NOT_EXTEND, ui.checkBox_17));
|
||||
|
||||
m_IoModel2Map.insert(std::make_pair(IN_Z_POSITION_UP, ui.checkBox_18));
|
||||
m_IoModel2Map.insert(std::make_pair(IN_Z_POSITION_DOWN, ui.checkBox_19));
|
||||
m_IoModel2Map.insert(std::make_pair(IN_MOVE_EXTEND, ui.checkBox_20));
|
||||
m_IoModel2Map.insert(std::make_pair(IN_MOVE_NOT_EXTEND, ui.checkBox_21));
|
||||
m_IoModel2Map.insert(std::make_pair(IN_CYLINDER_CLIP_TAUT, ui.checkBox_22));
|
||||
m_IoModel2Map.insert(std::make_pair(IN_CYLINDER_CLIP_NOT_TAUT, ui.checkBox_23));
|
||||
}
|
||||
|
||||
GugaoCardSet::~GugaoCardSet()
|
||||
{
|
||||
CloseThread();
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_green()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_LIGHT_GREEN, 1);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cancelGreen()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_LIGHT_GREEN, 0);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_yellow()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_LIGHT_YELLOW, 1);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cancelYellow()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_LIGHT_YELLOW, 0);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_red()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_LIGHT_RED, 1);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cancelRed()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_LIGHT_RED, 0);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_bluzzer()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_BLUZZER, 1);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cancelBluzzer()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_BLUZZER, 0);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_openModel()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_IO_OPEN_MODEL, 1);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cancelOpenModel()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_IO_OPEN_MODEL, 0);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_closeModel()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_IO_CLOSE_MODEL, 1);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cancelCloseModel()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_IO_CLOSE_MODEL, 0);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_stationOne()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_IO_STATION_1_ALLOW, 1);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cancelStationOne()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_IO_STATION_1_ALLOW, 0);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_stationTwo()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_IO_STATION_2_ALLOW, 1);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cancelStationTwo()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_IO_STATION_2_ALLOW, 0);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_forbidDoor()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_FORBID_DOOR, 1);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cancelForbidDoor()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_0, OUT_FORBID_DOOR, 0);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_x()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_1, OUT_CYLINDER_X, 1);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cancelX()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_1, OUT_CYLINDER_X, 0);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_y()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_1, OUT_CYLINDER_Y, 1);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cancelY()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_1, OUT_CYLINDER_Y, 0);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_z()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_1, OUT_CYLINDER_Z, 1);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cancelZ()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_1, OUT_CYLINDER_Z, 0);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_move()
|
||||
{
|
||||
bool isOk = MoveSafeManage::GetInstance()->PrevSetIo(OUT_CYLINDER_MOVE);
|
||||
if (isOk)
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_1, OUT_CYLINDER_MOVE, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
QMessageBox::StandardButton button = QMessageBox::information(
|
||||
nullptr,
|
||||
QString::fromLocal8Bit("Ìáʾ"),
|
||||
QString::fromLocal8Bit("ûÓбê¿ÌÊý¾Ý"),
|
||||
QMessageBox::Yes,
|
||||
QMessageBox::NoButton);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cancelMove()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_1, OUT_CYLINDER_MOVE, 0);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_clip()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_1, OUT_CYLINDER_CLIP, 0);
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_1, OUT_CYLINDER_CLIP1, 1);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cancelClip()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_1, OUT_CYLINDER_CLIP1, 0);
|
||||
GugaoCardManage::GetInstance()->WriteIO(GUGAO_IO_MODULE_1, OUT_CYLINDER_CLIP, 1);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cassAbs()
|
||||
{
|
||||
double coord = ui.lineEdit_11->text().toDouble();
|
||||
GugaoCardManage::GetManageInstance()->AbsMove(AXIS_CASS, coord, true);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cassRel()
|
||||
{
|
||||
double coord = ui.lineEdit_11->text().toDouble();
|
||||
GugaoCardManage::GetInstance()->Relmove(AXIS_CASS, coord, true);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_cassHome()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->Home(AXIS_CASS, true);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_zAbs()
|
||||
{
|
||||
double coord = ui.lineEdit->text().toDouble();
|
||||
|
||||
GugaoCardManage::GetManageInstance()->AbsMove(AXIS_Z, coord, true);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_zRel()
|
||||
{
|
||||
double coord = ui.lineEdit->text().toDouble();
|
||||
|
||||
GugaoCardManage::GetInstance()->Relmove(AXIS_Z, coord, true);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_zHome()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->Home(AXIS_Z, true);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_xAbs()
|
||||
{
|
||||
double coord = ui.lineEdit_2->text().toDouble();
|
||||
MoveSafeManage::GetInstance()->PrevAxisMove(AXIS_X, coord);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_xRel()
|
||||
{
|
||||
double coord = ui.lineEdit_2->text().toDouble();
|
||||
|
||||
GugaoCardManage::GetInstance()->Relmove(AXIS_X, coord, true);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_xHome()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->Home(AXIS_X, true);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_rAbs()
|
||||
{
|
||||
double coord = ui.lineEdit_3->text().toDouble();
|
||||
|
||||
GugaoCardManage::GetManageInstance()->AbsMove(AXIS_MIN_R, coord, true);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_rRel()
|
||||
{
|
||||
double coord = ui.lineEdit_3->text().toDouble();
|
||||
|
||||
GugaoCardManage::GetInstance()->Relmove(AXIS_MIN_R, coord, true);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_rHome()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->Home(AXIS_MIN_R, true);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_maxRAbs()
|
||||
{
|
||||
double coord = ui.lineEdit_10->text().toDouble();
|
||||
|
||||
GugaoCardManage::GetManageInstance()->AbsMove(AXIS_MAX_R, coord, true);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_MaxRRel()
|
||||
{
|
||||
double coord = ui.lineEdit_10->text().toDouble();
|
||||
|
||||
GugaoCardManage::GetInstance()->Relmove(AXIS_MAX_R, coord, true);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_maxRHome()
|
||||
{
|
||||
GugaoCardManage::GetInstance()->Home(AXIS_MAX_R, true);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_takeProduct()
|
||||
{
|
||||
QString productName = ui.comboBox->currentText();
|
||||
double xPos = GugaoCardManage::GetInstance()->GetCurPos(AXIS_X);
|
||||
|
||||
Product productObj = IniRreadWrite::GetInstance()->GetProductAxisCoord(productName);
|
||||
productObj.xAxisTakeProduct = xPos;
|
||||
IniRreadWrite::GetInstance()->SetProductAxisCoord(productObj);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_front()
|
||||
{
|
||||
QString productName = ui.comboBox->currentText();
|
||||
double xPos = GugaoCardManage::GetInstance()->GetCurPos(AXIS_X);
|
||||
double zPos = GugaoCardManage::GetInstance()->GetCurPos(AXIS_Z);
|
||||
|
||||
Product productObj = IniRreadWrite::GetInstance()->GetProductAxisCoord(productName);
|
||||
productObj.xAxisFront = xPos;
|
||||
productObj.zAxisFront = zPos;
|
||||
IniRreadWrite::GetInstance()->SetProductAxisCoord(productObj);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_top()
|
||||
{
|
||||
QString productName = ui.comboBox->currentText();
|
||||
double xPos = GugaoCardManage::GetInstance()->GetCurPos(AXIS_X);
|
||||
double zPos = GugaoCardManage::GetInstance()->GetCurPos(AXIS_Z);
|
||||
|
||||
Product productObj = IniRreadWrite::GetInstance()->GetProductAxisCoord(productName);
|
||||
productObj.xAxisTop = xPos;
|
||||
productObj.zAxisTop = zPos;
|
||||
IniRreadWrite::GetInstance()->SetProductAxisCoord(productObj);
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_firstLogo()
|
||||
{
|
||||
/*QString productName = ui.comboBox->currentText();
|
||||
double xPos = GugaoCardManage::GetInstance()->GetCurPos(AXIS_X);
|
||||
double zPos = GugaoCardManage::GetInstance()->GetCurPos(AXIS_Z);
|
||||
double rPos = GugaoCardManage::GetInstance()->GetCurPos(AXIS_MIN_R);
|
||||
|
||||
Product productObj = IniRreadWrite::GetInstance()->GetProductAxisCoord(productName);
|
||||
productObj.xAxisFirstLogo = xPos;
|
||||
productObj.zAxisSide = zPos;
|
||||
productObj.rAxis = rPos;
|
||||
|
||||
IniRreadWrite::GetInstance()->SetProductAxisCoord(productObj);*/
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_firstSerial()
|
||||
{
|
||||
/*QString productName = ui.comboBox->currentText();
|
||||
double xPos = GugaoCardManage::GetInstance()->GetCurPos(AXIS_X);
|
||||
|
||||
Product productObj = IniRreadWrite::GetInstance()->GetProductAxisCoord(productName);
|
||||
productObj.xAxisFirstSerial = xPos;
|
||||
|
||||
IniRreadWrite::GetInstance()->SetProductAxisCoord(productObj);*/
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_secondLogo()
|
||||
{
|
||||
/*QString productName = ui.comboBox->currentText();
|
||||
double xPos = GugaoCardManage::GetInstance()->GetCurPos(AXIS_X);
|
||||
|
||||
Product productObj = IniRreadWrite::GetInstance()->GetProductAxisCoord(productName);
|
||||
productObj.xAxisSecondLogo = xPos;
|
||||
|
||||
IniRreadWrite::GetInstance()->SetProductAxisCoord(productObj);*/
|
||||
}
|
||||
|
||||
void GugaoCardSet::slot_secondR()
|
||||
{
|
||||
/*QString productName = ui.comboBox->currentText();
|
||||
double xPos = GugaoCardManage::GetInstance()->GetCurPos(AXIS_X);
|
||||
|
||||
Product productObj = IniRreadWrite::GetInstance()->GetProductAxisCoord(productName);
|
||||
productObj.xAxisSecondR = xPos;
|
||||
|
||||
IniRreadWrite::GetInstance()->SetProductAxisCoord(productObj);*/
|
||||
}
|
||||
|
||||
void GugaoCardSet::ThreadFunc_GetIO()
|
||||
{
|
||||
while (!m_threadIsEnd)
|
||||
{
|
||||
for (auto& iter : m_IoModel1Map)
|
||||
{
|
||||
unsigned char ioFlag = GugaoCardManage::GetInstance()->ReadDi(GUGAO_IO_MODULE_0, iter.first);
|
||||
ioFlag == IO_YES ? iter.second->setIcon(m_yes) : iter.second->setIcon(m_no);
|
||||
}
|
||||
for (auto& iter : m_IoModel2Map)
|
||||
{
|
||||
unsigned char ioFlag = GugaoCardManage::GetInstance()->ReadDi(GUGAO_IO_MODULE_1, iter.first);
|
||||
ioFlag == IO_YES ? iter.second->setIcon(m_yes) : iter.second->setIcon(m_no);
|
||||
}
|
||||
double cassPos = GugaoCardManage::GetInstance()->GetCurPos(AXIS_CASS);
|
||||
double zPos = GugaoCardManage::GetInstance()->GetCurPos(AXIS_Z);
|
||||
double xPos = GugaoCardManage::GetInstance()->GetCurPos(AXIS_X);
|
||||
double minRPos = GugaoCardManage::GetInstance()->GetCurPos(AXIS_MIN_R);
|
||||
double maxRPos = GugaoCardManage::GetInstance()->GetCurPos(AXIS_MAX_R);
|
||||
|
||||
ui.lineEdit_12->setText(QString::number(cassPos));
|
||||
ui.lineEdit_7->setText(QString::number(zPos));
|
||||
ui.lineEdit_8->setText(QString::number(xPos));
|
||||
ui.lineEdit_9->setText(QString::number(minRPos));
|
||||
ui.lineEdit_13->setText(QString::number(maxRPos));
|
||||
|
||||
Sleep(1000);
|
||||
this->update();
|
||||
}
|
||||
}
|
||||
|
||||
void GugaoCardSet::InitUiAndThread()
|
||||
{
|
||||
ui.comboBox->clear();
|
||||
auto allProductName = IniRreadWrite::GetInstance()->GetAllProductName();
|
||||
ui.comboBox->addItems(allProductName);
|
||||
|
||||
m_threadIsEnd = false;
|
||||
m_GetIOThread = std::thread(&GugaoCardSet::ThreadFunc_GetIO, this);
|
||||
}
|
||||
|
||||
void GugaoCardSet::CloseThread()
|
||||
{
|
||||
m_threadIsEnd = true;
|
||||
if (m_GetIOThread.joinable())
|
||||
{
|
||||
m_GetIOThread.join();
|
||||
int i = 0;
|
||||
}
|
||||
}
|
@ -0,0 +1,108 @@
|
||||
#pragma once
|
||||
|
||||
#include <QWidget>
|
||||
#include "ui_GugaoCardSet.h"
|
||||
#include "GugaoCardManage.h"
|
||||
#include <thread>
|
||||
#include <map>
|
||||
#include <QCheckBox>
|
||||
#include <QMessageBox>
|
||||
|
||||
class GugaoCardSet : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
GugaoCardSet(QWidget *parent = Q_NULLPTR);
|
||||
~GugaoCardSet();
|
||||
|
||||
public slots:
|
||||
//灯和蜂鸣器对应设置
|
||||
void slot_green();
|
||||
void slot_cancelGreen();
|
||||
|
||||
void slot_yellow();
|
||||
void slot_cancelYellow();
|
||||
|
||||
void slot_red();
|
||||
void slot_cancelRed();
|
||||
|
||||
void slot_bluzzer();
|
||||
void slot_cancelBluzzer();
|
||||
|
||||
//机械手对应设置
|
||||
void slot_openModel(); //开模
|
||||
void slot_cancelOpenModel(); //取消开模
|
||||
|
||||
void slot_closeModel(); //闭模
|
||||
void slot_cancelCloseModel(); //取消闭模
|
||||
|
||||
void slot_stationOne();
|
||||
void slot_cancelStationOne();
|
||||
|
||||
void slot_stationTwo();
|
||||
void slot_cancelStationTwo();
|
||||
|
||||
void slot_forbidDoor();
|
||||
void slot_cancelForbidDoor();
|
||||
|
||||
//气缸对应设置
|
||||
void slot_x();
|
||||
void slot_cancelX();
|
||||
|
||||
void slot_y();
|
||||
void slot_cancelY();
|
||||
|
||||
void slot_z();
|
||||
void slot_cancelZ();
|
||||
|
||||
void slot_move();
|
||||
void slot_cancelMove();
|
||||
|
||||
void slot_clip();
|
||||
void slot_cancelClip();
|
||||
|
||||
//轴控制
|
||||
void slot_cassAbs();
|
||||
void slot_cassRel();
|
||||
void slot_cassHome();
|
||||
|
||||
void slot_zAbs();
|
||||
void slot_zRel();
|
||||
void slot_zHome();
|
||||
|
||||
void slot_xAbs();
|
||||
void slot_xRel();
|
||||
void slot_xHome();
|
||||
|
||||
void slot_rAbs();
|
||||
void slot_rRel();
|
||||
void slot_rHome();
|
||||
|
||||
void slot_maxRAbs();
|
||||
void slot_MaxRRel();
|
||||
void slot_maxRHome();
|
||||
|
||||
//标刻位置设置
|
||||
void slot_takeProduct();
|
||||
void slot_front();
|
||||
void slot_top();
|
||||
void slot_firstLogo();
|
||||
void slot_firstSerial();
|
||||
void slot_secondLogo();
|
||||
void slot_secondR();
|
||||
|
||||
public:
|
||||
void InitUiAndThread();
|
||||
void CloseThread();
|
||||
private:
|
||||
void ThreadFunc_GetIO();
|
||||
private:
|
||||
Ui::GugaoCardSet ui;
|
||||
std::thread m_GetIOThread;
|
||||
bool m_threadIsEnd = false;
|
||||
std::map<int, QCheckBox*> m_IoModel1Map;
|
||||
std::map<int, QCheckBox*> m_IoModel2Map;
|
||||
QIcon m_yes;
|
||||
QIcon m_no;
|
||||
};
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,85 @@
|
||||
#include "Huayue.h"
|
||||
|
||||
Huayue::Huayue(QWidget *parent)
|
||||
: QMainWindow(parent)
|
||||
{
|
||||
ui.setupUi(this);
|
||||
|
||||
//初始化所有配置
|
||||
IniRreadWrite::GetInstance()->ReadAllIniFile();
|
||||
|
||||
m_mainInterface = new MainInterface();
|
||||
m_gugaoCardSet = new GugaoCardSet();
|
||||
m_allConfig = new AllConfig();
|
||||
m_xizanUi = new XizanUI();
|
||||
ui.stackedWidget->addWidget(m_mainInterface);
|
||||
ui.stackedWidget->addWidget(m_gugaoCardSet);
|
||||
ui.stackedWidget->addWidget(m_allConfig);
|
||||
ui.stackedWidget->addWidget(m_xizanUi);
|
||||
ui.stackedWidget->setCurrentWidget(m_mainInterface);
|
||||
|
||||
connect(ui.pushButton_setMain, SIGNAL(clicked()), this, SLOT(slot_setMain()));
|
||||
connect(ui.pushButton_setGugao, SIGNAL(clicked()), this, SLOT(slot_setGugao()));
|
||||
connect(ui.pushButton_setConfig, SIGNAL(clicked()), this, SLOT(slot_setAllConfig()));
|
||||
connect(ui.pushButton_camera, SIGNAL(clicked()), this, SLOT(slot_setCamera()));
|
||||
|
||||
|
||||
|
||||
//初始化所有轴
|
||||
GugaoCardManage::GetManageInstance()->InitAllAxisParam();
|
||||
}
|
||||
|
||||
void Huayue::slot_setMain()
|
||||
{
|
||||
m_gugaoCardSet->CloseThread();
|
||||
m_isgugaoSet = false;
|
||||
|
||||
ui.stackedWidget->setCurrentWidget(m_mainInterface);
|
||||
GugaoCardManage::GetManageInstance()->InitAllAxisParam();
|
||||
}
|
||||
|
||||
void Huayue::slot_setGugao()
|
||||
{
|
||||
if (!m_isgugaoSet)
|
||||
{
|
||||
m_gugaoCardSet->InitUiAndThread();
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
ui.stackedWidget->setCurrentWidget(m_gugaoCardSet);
|
||||
m_isgugaoSet = true;
|
||||
}
|
||||
|
||||
void Huayue::slot_setAllConfig()
|
||||
{
|
||||
m_gugaoCardSet->CloseThread();
|
||||
m_isgugaoSet = false;
|
||||
|
||||
m_allConfig->InitShow();
|
||||
ui.stackedWidget->setCurrentWidget(m_allConfig);
|
||||
}
|
||||
|
||||
void Huayue::slot_setCamera()
|
||||
{
|
||||
m_gugaoCardSet->CloseThread();
|
||||
m_isgugaoSet = false;
|
||||
m_xizanUi->initXizan();
|
||||
ui.stackedWidget->setCurrentWidget(m_xizanUi);
|
||||
}
|
||||
|
||||
void Huayue::paintEvent(QPaintEvent *event)
|
||||
{
|
||||
QStyleOption opt;
|
||||
opt.init(this);
|
||||
QPainter p(this);
|
||||
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
|
||||
|
||||
// 自定义标题栏背景色
|
||||
QPalette pal = palette();
|
||||
pal.setColor(QPalette::Window, Qt::blue); // 设置蓝色背景
|
||||
setPalette(pal);
|
||||
|
||||
QMainWindow::paintEvent(event);
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
#pragma once
|
||||
|
||||
#include <QtWidgets/QMainWindow>
|
||||
#include <QStylePainter>
|
||||
#include <QStyleOption>
|
||||
#include <QPalette>
|
||||
#include "ui_Huayue.h"
|
||||
#include "MainInterface.h"
|
||||
#include "GugaoCardSet.h"
|
||||
#include "AllConfig.h"
|
||||
#include "IniRreadWrite.h"
|
||||
#include "XizanUI.h"
|
||||
|
||||
class Huayue : public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
Huayue(QWidget *parent = Q_NULLPTR);
|
||||
|
||||
public slots:
|
||||
void slot_setMain();
|
||||
void slot_setGugao();
|
||||
void slot_setAllConfig();
|
||||
void slot_setCamera();
|
||||
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *event) override;
|
||||
|
||||
private:
|
||||
Ui::HuayueClass ui;
|
||||
|
||||
MainInterface* m_mainInterface;
|
||||
GugaoCardSet* m_gugaoCardSet;
|
||||
AllConfig* m_allConfig;
|
||||
XizanUI* m_xizanUi;
|
||||
|
||||
bool m_isgugaoSet = false;
|
||||
};
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue