S7-SoftSPS:cifX Grundlegende Konfiguration: Unterschied zwischen den Versionen

Aus IBHsoftec Wiki Deutsch
Zur Navigation springen Zur Suche springen
Joscha (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „Hier werden die grundlegenden Konfigurationseigenschaften der cifX-Karten eingestellt. Wenn kein PROFIBUS<sup>®</sup> verwendet wird, muss die Konfiguration …“
 
Joscha (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 57: Zeile 57:
Der Busdiagnose SFC liest den CommonStatusBlock aus und gibt die Information an den Ausgängen zurück
Der Busdiagnose SFC liest den CommonStatusBlock aus und gibt die Information an den Ausgängen zurück


<table>
{|
<tbody>
|-
<tr class="odd">
| CALL || SFC/FC 1009  
<td align="left">CALL</td>
|-
<td align="left">SFC/FC 1009</td>
|style="width:7em"BOARD ||style="width:14em":= 0 ||  //INPUT BYTE
<td align="left"></td>
|-
</tr>
| CHANNEL || := 0 || //INPUT BYTE
<tr class="even">
|-
<td align="left">BOARD</td>
| RET_VAL || := MW 0 || //RESULT INT
<td align="left">:= 0</td>
|-
<td align="left">//INPUT BYTE</td>
| COMCOS || := MD 2 || //OUTPUT DWORD
</tr>
|-
<tr class="odd">
| COMSTATE || := MD 6 || //OUTPUT DWORD
<td align="left">CHANNEL</td>
|-
<td align="left">:= 0</td>
| COMERROR || := MD 10 || //OUTPUT DWORD
<td align="left">//INPUT BYTE</td>
|-
</tr>
| SLAVESTATE || := MD 14 || //OUTPUT DWORD
<tr class="even">
|-
<td align="left">RET_VAL</td>
| SLAVEERROR || := MD 18 || //OUTPUT DWORD
<td align="left">:= MW 0</td>
|-
<td align="left">//RESULT INT</td>
| SLAVECONF || := MD 22 || //OUTPUT DWORD
</tr>
|-
<tr class="odd">
| SLAVEACTIVE || := MD 26 || //OUTPUT DWORD
<td align="left">COMCOS</td>
|-
<td align="left">:= MD 2</td>
| SLAVEFAULT || := MD 30 || //OUTPUT DWORD
<td align="left">//OUTPUT DWORD</td>
|}
</tr>
<tr class="even">
<td align="left">COMSTATE</td>
<td align="left">:= MD 6</td>
<td align="left">//OUTPUT DWORD</td>
</tr>
<tr class="odd">
<td align="left">COMERROR</td>
<td align="left">:= MD 10</td>
<td align="left">//OUTPUT DWORD</td>
</tr>
<tr class="even">
<td align="left">SLAVESTATE</td>
<td align="left">:= MD 14</td>
<td align="left">//OUTPUT DWORD</td>
</tr>
<tr class="odd">
<td align="left">SLAVEERROR</td>
<td align="left">:= MD 18</td>
<td align="left">//OUTPUT DWORD</td>
</tr>
<tr class="even">
<td align="left">SLAVECONF</td>
<td align="left">:= MD 22</td>
<td align="left">//OUTPUT DWORD</td>
</tr>
<tr class="odd">
<td align="left">SLAVEACTIVE</td>
<td align="left">:= MD 26</td>
<td align="left">//OUTPUT DWORD</td>
</tr>
<tr class="even">
<td align="left">SLAVEFAULT</td>
<td align="left">:= MD 30</td>
<td align="left">//OUTPUT DWORD</td>
</tr>
</tbody>
</table>


'''Message SFC'''<br />
Mit Hilfe des Message SFCs können Telegramme zur cifX-Karte geschickt werden


<table>
'''Message SFC'''
<tbody>
 
<tr class="odd">
Mit Hilfe des Message SFCs können Telegramme zur cifX-Karte geschickt werden
<td align="left">CALL</td>
 
<td align="left">SFC/FC 1010</td>
{|
<td align="left"></td>
|-
</tr>
| CALL || SFC/FC 1010  
<tr class="even">
|-
<td align="left">SEND</td>
|style="width:7em"SEND ||style="width:14em":= 0 ||  //INPUT BOOL
<td align="left">:= 0</td>
|-
<td align="left">//INPUT BOOL</td>
| BOARD || := 0 || //INPUT BYTE
</tr>
|-
<tr class="odd">
| CHANNEL || := 0 || //INPUT BYTE
<td align="left">BOARD</td>
|-
<td align="left">:= 0</td>
| TIMEOUT || := 5 || //INPUT DWORD
<td align="left">//INPUT BYTE</td>
|-
</tr>
| INDATA || := P#DB10.DBX0.0 BYTE 20 || //INPUT ANY
<tr class="even">
|-
<td align="left">CHANNEL</td>
| OUTDATA || := P#DB0.DBX20.0 BYTE 20 || //INPUT ANY
<td align="left">:= 0</td>
|-
<td align="left">//INPUT BYTE</td>
| RET_VAL || := MW 0|| //RESULT INT
</tr>
|-
<tr class="odd">
| BUSY || := M2.0 || //OUTPUT BOOL
<td align="left">TIMEOUT</td>
|-
<td align="left">:= 5</td>
| NDR || := M2.1 || //OUTPUT BOOL
<td align="left">//OUTPUT DWORD</td>
|-
</tr>
| ERROR || := M2.2 || //OUTPUT BOOL
<tr class="even">
|}
<td align="left">INDATA</td>
 
<td align="left">:= P#DB10.DBX0.0 BYTE 20</td>
 
<td align="left">//INPUT ANY</td>
'''SFC 14'''
</tr>
 
<tr class="odd">
Mittels des Bausteins DPRD_DAT können Daten aus dem cifX Dualport RAM gelesen werden
<td align="left">OUTDATA</td>
 
<td align="left">:= P#DB0.DBX20.0 BYTE 20</td>
<td align="left">//INPUT ANY</td>
</tr>
<tr class="even">
<td align="left">RET_VAL</td>
<td align="left">:= MW 0</td>
<td align="left">//RESULT INT</td>
</tr>
<tr class="odd">
<td align="left">BUSY</td>
<td align="left">:= M2.0</td>
<td align="left">//OUTPUT BOOL</td>
</tr>
<tr class="even">
<td align="left">NDR</td>
<td align="left">:= M2.1</td>
<td align="left">//OUTPUT BOOL</td>
</tr>
<tr class="odd">
<td align="left">ERROR</td>
<td align="left">:= M2.2</td>
<td align="left">//OUTPUT BOOL</td>
</tr>
</tbody>
</table>


'''SFC 14'''<br />
Mittels des Bausteins DPRD_DAT können Daten aus dem cifX Dualport RAM gelesen werden


<table>
<table>

Version vom 11. Dezember 2012, 11:51 Uhr

Hier werden die grundlegenden Konfigurationseigenschaften der cifX-Karten eingestellt.

Wenn kein PROFIBUS® verwendet wird, muss die Konfiguration mit dem Systemkonfigurator der Firma Hilscher durchgeführt werden:

Wie der Treiber in die S7-SoftSPS eingebunden wird, ist Bestandteil dieser Anleitungen:

Verwenden der SFCs

Kommando SFC

Dieser Baustein ermöglicht es verschiedene Informationen aus der cifX-Karte zu lesen


CALL SFC/FC 1008
COMMAND := 0 //INPUT DWORD
BOARD := 0 //INPUT BYTE
CHANNEL := 0 //INPUT BYTE
DATA := P#DB10.DBX0.0 BYTE 100 //INPUT ANY
RET_VAL := 0 //RESULT INT


Kommando Länge ANY-Pointer Datenbereich Bedeutung
1 24 Liest die SystemInformation aus der cifX-Karte aus
2 48 Liest den SystemInfoBlock aus der cifX-Karte aus
3 Liest den SystemChannelBlock aus der cifX-Karte aus
4 8 Liest den SystemControlBlock aus der cifX-Karte aus
5 64 Liest den SystemStatusBlock aus der cifX-Karte aus
6 165 Liest die ChannelInformation aus der cifX-Karte aus
7 64 Liest den CommonStatusBlock aus der cifX-Karte aus


Busdiagnose SFC

Der Busdiagnose SFC liest den CommonStatusBlock aus und gibt die Information an den Ausgängen zurück

CALL SFC/FC 1009
BOARD := 0 //INPUT BYTE
CHANNEL := 0 //INPUT BYTE
RET_VAL := MW 0 //RESULT INT
COMCOS := MD 2 //OUTPUT DWORD
COMSTATE := MD 6 //OUTPUT DWORD
COMERROR := MD 10 //OUTPUT DWORD
SLAVESTATE := MD 14 //OUTPUT DWORD
SLAVEERROR := MD 18 //OUTPUT DWORD
SLAVECONF := MD 22 //OUTPUT DWORD
SLAVEACTIVE := MD 26 //OUTPUT DWORD
SLAVEFAULT := MD 30 //OUTPUT DWORD


Message SFC

Mit Hilfe des Message SFCs können Telegramme zur cifX-Karte geschickt werden

CALL SFC/FC 1010
SEND := 0 //INPUT BOOL
BOARD := 0 //INPUT BYTE
CHANNEL := 0 //INPUT BYTE
TIMEOUT := 5 //INPUT DWORD
INDATA := P#DB10.DBX0.0 BYTE 20 //INPUT ANY
OUTDATA := P#DB0.DBX20.0 BYTE 20 //INPUT ANY
RET_VAL := MW 0 //RESULT INT
BUSY := M2.0 //OUTPUT BOOL
NDR := M2.1 //OUTPUT BOOL
ERROR := M2.2 //OUTPUT BOOL


SFC 14

Mittels des Bausteins DPRD_DAT können Daten aus dem cifX Dualport RAM gelesen werden


<tbody> </tbody>
CALL SFC/FC 14
LADDR := W#16#100 //INPUT WORD
RET_VAL := MW 0 //RESULT INT
RECORD := P#M 100.0 BYTE 1 //OUTPUT ANY



<tbody> </tbody>
Parameter Datentyp Bedeutung
LADDR WORD Startadresse der zu lesenden Daten
RET_VAL INT 0 bei Erfolg
RECORD ANY ANY-Pointer auf gelesenen Daten

SFC 15

Mittels des Bausteins DPWR_DAT können Daten in den cifX Dualport RAM geschrieben werden
<tbody> </tbody>
CALL SFC/FC 15
LADDR := W#16#100 //INPUT WORD
RECORD := P#M 102.0 BYTE 1 //OUTPUT ANY
RET_VAL := MW 0 //RESULT INT



<tbody> </tbody>
Parameter Datentyp Bedeutung
LADDR WORD Startadresse der zu schreibenden Daten
RECORD ANY ANY-Pointer auf zu schreibende Daten
RET_VAL INT 0 bei Erfolg