Académique Documents
Professionnel Documents
Culture Documents
4
07/2011
A5E00992432-02
Personal cualificado
El producto/sistema tratado en esta documentacin slo deber ser manejado o manipulado por personal cualificado para la tarea encomendada y observando lo indicado en la documentacin correspondiente a la misma, particularmente las consignas de seguridad y advertencias en ella incluidas. Debido a su formacin y experiencia, el personal cualificado est en condiciones de reconocer riesgos resultantes del manejo o manipulacin de dichos productos/sistemas y de evitar posibles peligros.
Marcas registradas
Todos los nombres marcados con son marcas registradas de Siemens AG. Los restantes nombres y designaciones contenidos en el presente documento pueden ser marcas registradas cuya utilizacin por terceros para sus propios fines puede violar los derechos de sus titulares.
Exencin de responsabilidad
Hemos comprobado la concordancia del contenido de esta publicacin con el hardware y el software descritos. Sin embargo, como es imposible excluir desviaciones, no podemos hacernos responsable de la plena concordancia. El contenido de esta publicacin se revisa peridicamente; si es necesario, las posibles las correcciones se incluyen en la siguiente edicin.
A5E00992432-02 05/2011
ndice
1 2 Introduccin ............................................................................................................................................... 5 Sinopsis de S7ProSim ............................................................................................................................... 7 2.1 2.2 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22 3.23 3.24 3.25 3.26 Integrar un objeto COM de S7ProSim en el proyecto ...................................................................7 Programar una interfaz para S7-PLCSIM con S7ProSim..............................................................8 BeginScanNotify ..........................................................................................................................13 Connect........................................................................................................................................14 ConnectExt...................................................................................................................................15 Continue.......................................................................................................................................16 Disconnect ...................................................................................................................................17 EndScanNotify .............................................................................................................................18 ExecuteNmsScan ........................................................................................................................19 ExecuteNScans ...........................................................................................................................20 ExecuteSingleScan......................................................................................................................21 GetPauseState.............................................................................................................................22 GetScanMode ..............................................................................................................................23 GetStartUpSwitch ........................................................................................................................24 GetState .......................................................................................................................................25 HotStartWithSavedValues ...........................................................................................................26 Pause ...........................................................................................................................................27 ReadDataBlockValue...................................................................................................................28 ReadFlagValue ............................................................................................................................30 ReadOutputImage........................................................................................................................32 ReadOutputPoint .........................................................................................................................34 SavePLC ......................................................................................................................................36 SetScanMode...............................................................................................................................37 SetStartUpSwitch.........................................................................................................................38 SetState .......................................................................................................................................39 StartPLCSim ................................................................................................................................40 StartPLCSimExt ...........................................................................................................................41 WriteDataBlockValue ...................................................................................................................42
Mtodos................................................................................................................................................... 11
ndice
3.27 3.28 3.29 4 4.1 4.2 4.3 4.4 4.5 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10
WriteFlagValue............................................................................................................................ 44 WriteInputImage.......................................................................................................................... 46 WriteInputPoint............................................................................................................................ 48 ConnectionError .......................................................................................................................... 51 PauseStateChanged ................................................................................................................... 52 PLCSimStateChanged ................................................................................................................ 52 ScanFinished .............................................................................................................................. 52 ScanModeChanged .................................................................................................................... 53 Definiciones de tipo..................................................................................................................... 55 CPURunMode ............................................................................................................................. 55 ImageDataTypeConstants .......................................................................................................... 56 PauseStateConstants ................................................................................................................. 56 PointDataTypeConstants ............................................................................................................ 57 RestartSwitchPosition ................................................................................................................. 57 ScanModeConstants................................................................................................................... 58 tagPauseState............................................................................................................................. 58 ScanInfoKonstanten.................................................................................................................... 59 Cdigos de error ......................................................................................................................... 59
Eventos.................................................................................................................................................... 51
ndice alfabtico....................................................................................................................................... 61
S7ProSim V5.4
Introduccin
S7ProSim ofrece un acceso desde el programa a la interfaz del sistema de destino simulado en S7-PLCSIM. S7ProSim permite escribir programas para realizar tareas tales como cambiar la posicin del interruptor de llave del sistema de destino simulado, ejecutar el programa de control cclicamente, leer o escribir valores de control y otras muchas acciones.
Grupo objetivo
Este manual est dirigido a ingenieros de desarrollo, programadores y personal de mantenimiento con conocimientos y experiencia en el campo de los autmatas programables S7 y el desarrollo de software en Visual Basic (6.0 o .NET) o bien Visual C++ (6.0 o .NET).
Manuales relacionados
Encontrar ms informacin al respecto en la Ayuda en pantalla de STEP 7 y S7-PLCSIM, as como en los siguientes manuales: Programar con STEP 7, manual. Este manual ofrece informacin bsica sobre el diseo y la programacin de programas de control. Utilice este manual cuando disee un programa de control con el software de automatizacin STEP 7. Software de sistema para S7-300/400 Funciones estndar y funciones de sistema En este manual encontrar descripciones de funciones de sistema, bloques de organizacin y funciones estndar que le servirn de ayuda al desarrollar un progama de control. Primeros pasos y ejercicios prcticos con STEP 7, Getting Started. En este manual se describe cmo utilizar el software de automatizacin STEP 7. El manual ofrece una visin general sobre el procedimiento a seguir al configurar un sistema de destino y al desarrollar programas de control. S7-PLCSIM - Probar el programa de la CPU S7. En este manual se describen la interfaz de usuario y el funcionamiento de S7-PLCSIM, el simulador de PLCs S7. Encontrar este y otros manuales si selecciona Inicio > SIMATIC > Documentacin en el men de inicio de Windows del equipo en el que tiene instalado STEP 7.
Soporte adicional
Si tiene preguntas de carcter tcnico o si necesita informacin para pedir este producto o sobre los cursos de formacin, dirjase al representante de Siemens de su localidad.
Introduccin
S7ProSim V5.4
Sinopsis de S7ProSim
S7ProSim ofrece un objeto COM para el acceso programtico a la interfaz de simulacin de procesos de S7-PLCSIM. S7ProSim puede utilizarse en cualquier aplicacin que soporte objetos COM para la conexin con la simulacin de procesos de S7-PLCSIM. Este documento electrnico describe cmo integrar S7ProSim en una aplicacin, Adems describe las caractersticas, la interfaz de usuario y el funcionamiento de S7ProSim y explica las definiciones de objetos de software de mtodos y eventos.
2.1
Procedimiento
En Microsoft Visual Basic (6.0 o .NET), p. ej., siga los pasos indicados a continuacin para completar una referencia a un objeto COM S7ProSim: 1. Elija el comando de men Proyecto > Referencias o Proyecto > Agregar referencia. 2. En el cuadro de dilogo "Referencias", active la casilla de verificacin correspondiente al objeto COM Siemens S7ProSim. (En Visual Basic .NET, est seleccin se efecta en la ficha "COM" del cuadro de dilogo "Referencias"). 3. Haga clic en "Aceptar". Tras haber agregado la referencia al proyecto, puede utilizar el Examinador de objetos para ver los mtodos y eventos del objeto COM S7ProSim. En el Examinador de objetos, seleccione "S7PROSIMLib" en la lista desplegable de las libreras. La clase S7ProSim contiene los mtodos y eventos que pueden utilizarse para programar una interfaz con S7-PLCSIM. En Microsoft Visual Studio C++ V6.0 o en Microsoft Visual C++ .NET, siga el procedimiento correspondiente al respectivo entorno de programacin para agregar un objeto COM. En Microsoft Visual C# .NET se agrega una referencia a un objeto COM S7ProSim siguiendo los pasos siguientes: 1. Seleccione el comando de men Proyecto > Agregar referencnia. 2. Seleccione el componente "Siemens S7ProSim COM Object" en la ficha "COM". 3. Confirme la seleccin con "Seleccionar". 4. Salga del cuadro de dilogo con "Aceptar".
Sinopsis de S7ProSim 2.2 Programar una interfaz para S7-PLCSIM con S7ProSim
2.2
Procedimiento
Para poder manejar con S7ProSim el PLC simulado en S7-PLCSIM, proceda del siguiente modo: 1. Incorpore el objeto COM S7ProSim de Siemens al proyecto. 2. Agregue al proyecto una declaracin para S7ProSim. Ejemplo: Visual Basic 6.0
Option Explicit Private WithEvents S7ProSim As S7PROSIMLib.S7ProSim ... Private Sub Form_Load() Set S7ProSim = New S7PROSIMLIB.S7ProSim ... End Sub
S7ProSim V5.4
Sinopsis de S7ProSim 2.2 Programar una interfaz para S7-PLCSIM con S7ProSim
// IProSimPtr es un CComPtr (smart ptr) para la interfaz // IProSim // viene del archivo dll de #import // CoCreateInstance se llama automticamente para el objeto ptr en // el constructor // de esta clase // habilitacin de ptr es llamada automticamente por el destructor de // esta clase IS7ProSimPtr }; m_pProSim;
Ejemplo: C#
using S7PROSIMLib; ... private S7ProSim ps; // create the COM Object connection ps = new S7ProSim();
Sinopsis de S7ProSim 2.2 Programar una interfaz para S7-PLCSIM con S7ProSim
3. Programe en Visual Basic controladores de eventos para los eventos de S7ProSim. En Visual C++ y Visual C# no se requieren controladores de eventos. En cada controlador de eventos es posible insertar cualquier cdigo personalizado para la aplicacin. Ejemplo: Visual Basic 6.0
Private Sub S7ProSim_PauseStateChanged(ByVal NewState As String) DoEvents ... End Sub Private Sub S7ProSim_ScanFinished(ByVal ScanInfo As Variant) DoEvents ... End Sub Private Sub S7ProSim_PLCSimStateChanged(ByVal NewState As String) DoEvents ... End Sub Private Sub S7ProSim_ConnectionError(ByVal ControlEngine As String, ByVal error As Long) DoEvents MsgBox "Error de conexin" End Sub Private Sub S7ProSim_ScanModeChanged(ByVal NewState As String) DoEvents ... End Sub
Nota La llamada "DoEvents" no es necesaria en Visual Basic .NET. 4. Agregue botones de comando, cuadros de texto u otros objetos a su aplicacin, segn sea necesario para acceder a los distintos mtodos de S7ProSim. Programe el cdigo para cada controlador de botones de comando, con objeto de llamar los mtodos de S7ProSim y ajustar los valores apropiados para los cuadros de texto de su aplicacin.
S7ProSim V5.4
10
Mtodos
3
Mtodo BeginScanNotify (Pgina 13) Connect (Pgina 14) ConnectExt (Pgina 15) Continue (Pgina 16) Disconnect (Pgina 17) EndScanNotify (Pgina 18) ExecuteNmsScan (Pgina 19) Descripcin Registra S7ProSim para rellamadas del PLC. Los eventos ScanFinished y PLCSimStateChanged se envan cuando aparecen estos eventos. Conecta S7ProSim con S7-PLCSIM. Conecta S7ProSim con la instancia de S7-PLCSIM con el nmero InstanceNumber. Contina una simulacin que ha sido detenida. Desconecta S7ProSim de S7-PLCSIM. Elimina S7ProSim del registro para rellamadas del PLC. Los eventos ScanFinished y PLCSimStateChanged no se envan. Obliga a S7-PLCSIM a ejecutar ciclos durante un tiempo determinado (Nms), sin esperar a que finalice la ejecucin del ciclo actual. Si est activada la notificacin de ciclos, el programa recibir un aviso cuando S7-PLCSIM haya finalizado los ciclos. Obliga a S7-PLCSIM a ejecutar un nmero determinado de ciclos sin esperar a que finalice la ejecucin del ciclo actual. Si est activada la notificacin de ciclos, el programa recibir un aviso cuando S7-PLCSIM haya finalizado los ciclos. Obliga a S7-PLCSIM a ejecutar un ciclo individual sin esperar a que finalice la ejecucin del ciclo actual. Si est activada la notificacin de ciclos, el programa recibir un aviso cuando S7-PLCSIM haya finalizado el ciclo. Notifica el modo de funcionamiento de S7-PLCSIM. Obtiene la configuracin de arranque (rearranque, arranque en caliente o en fro) de S7-PLCSIM Devuelve una cadena que contiene la posicin actual del interruptor de llave de S7-PLCSIM (RUN, RUN-P o STOP). Activa un valor booleano para indicar si S7-PLCSIM debe cargar valores de E/S guardados de la periferia cuando se arranque en el estado HotStart. Para que S7-PLCSIM cargar E/S de la periferia al arrancar, el usuario debe llamar HotStartWithSavedValues con el valor TRUE, guardar el programa del PLC ( SavePLC), y ajustar a HotStart ( SetStartUpSwitch) el estado de arranque para S7-PLCSIM. Al reiniciar S7-PLCSIM se cargarn las E/S de la periferia. Detiene una simulacin. Lee un bit, un byte, una palabra o una palabra doble determinada del rea de memoria DB de S7-PLCSIM.
Sinopsis
GetPauseState (Pgina 22) Devuelve el estado de pausa actual de S7-PLCSIM. GetScanMode (Pgina 23) GetStartUpSwitch (Pgina 24) GetState (Pgina 25) HotStartWithSavedValues (Pgina 26)
11
Mtodos
Mtodo
Descripcin
ReadFlagValue (Pgina 30) Lee un bit, un byte, una palabra o una palabra doble determinada del rea de memoria de marcas (M) de S7-PLCSIM. ReadOutputImage (Pgina 32) ReadOutputPoint (Pgina 34) SavePLC (Pgina 36) Lee elementos del rea de periferia de las salidas (rea de memoria PQ) de S7-PLCSIM. Lee un bit (Boolean), un byte (Byte), una palabra de 16 bits (Integer) o una palabra de 32 bits (Long) del rea de periferia de las salidas (rea de memoria PQ). Guarda en un archivo los datos actuales del PLC simulados. Los datos que se almacenan incluyen el programa, la configuracin hardware, la posicin del interruptor de llave que indica la subventana "CPU", el tipo de ejecucin del ciclo (continuo o por ciclos individuales), el estado de las E/S, los valores de los temporizadores, las direcciones simblicas y el estado de la alimentacin ("on" u "off"). Ajusta el modo de funcionamiento de S7-PLCSIM. Ajusta el tipo de arranque (rearranque, arranque en caliente o en fro) para el arranque de S7-PLCSIM. Ajusta la posicin actual del interruptor de llave de S7-PLCSIM (RUN, RUN-P o STOP). Inicia S7-PLCSIM con el archivo de simulacin del PLC indicado (guardado en una llamada anterior de SavePLC). Inicia una instancia de S7-PLCSIM con el archivo de simulacin de PLC indicado (guardado por una llamada anterior). Escribe un bit, un byte, una palabra o una palabra doble determinada en el rea de memoria DB de S7-PLCSIM.
SetScanMode (Pgina 37) SetStartUpSwitch (Pgina 38) SetState (Pgina 39) StartPLCSim (Pgina 40) StartPLCSimExt (Pgina 41) WriteDataBlockValue (Pgina 42)
WriteFlagValue (Pgina 44) Escribe un bit, un byte, una palabra o una palabra doble determinada en el rea de memoria de marcas (M) de S7-PLCSIM. WriteInputImage (Pgina 46) Escribe elementos en el rea de periferia de las entradas (rea de memoria PI) de S7-PLCSIM, comenzando en el StartIndex de los datos a los que seala pData.
WriteInputPoint (Pgina 48) Escribe un bit (Boolean), un byte (Byte), una palabra de 16 bits (Integer) o una palabra de 32 bits (Long) determinada de la variante Data en el rea de periferia de las entradas (rea de memoria PI).
S7ProSim V5.4
12
3.1
BeginScanNotify
STDMETHOD(CS7ProSim::BeginScanNotify)()
Descripcin
Registra S7ProSim para rellamadas del PLC. Los eventos ScanFinished y PLCSimStateChanged se envan cuando aparecen estos eventos.
Parmetros
Ninguno
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x80040211 : S7ProSim no est conectado a S7-PLCSIM 0x80040212 : S7-PLCSIM est desconectado
13
3.2
Connect
STDMETHOD(Connect)()
Descripcin
Conecta S7ProSim con la primera instancia de S7-PLCSIM con el nmero "1".
Parmetros
Ninguno
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_NOTCONNECTED PS_E_PLCISCONNECTED PS_E_POWEROFF Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x80040211 : S7ProSim no est conectado a S7-PLCSIM 0x8004020E : S7-PLCSIM est conectado 0x80040212 : S7-PLCSIM est desconectado
S7ProSim V5.4
14
3.3
ConnectExt
STDMETHOD (ConnectExt)(/*[in]*/ long InstanceNumber)
Descripcin
Conecta S7ProSim con la instancia de S7-PLCSIM con el nmero InstanceNumber.
Parmetro
InstanceNumber [in]: Nmero de la instancia con la que debe conectarse S7ProSim
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_NOTCONNECTED PS_E_PLCISCONNECTED PS_E_POWEROFF Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x80040211 : S7ProSim no est conectado a S7-PLCSIM 0x8004020E : S7-PLCSIM est conectado 0x80040212 : S7-PLCSIM est desconectado
15
3.4
Continue
STDMETHOD(CS7ProSim::Continue)()
Descripcin
Contina una simulacin que ha sido detenida.
Parmetros
Ninguno
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK PS_E_NOTCONNECTED Significado 0x00000000 : Cdigo de xito 0x80040211 : S7ProSim no est conectado a S7-PLCSIM
S7ProSim V5.4
16
3.5
Disconnect
STDMETHOD(CS7ProSim::Disconnect)()
Descripcin
Desconecta S7ProSim de S7-PLCSIM.
Parmetros
Ninguno
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_POWEROFF Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x80040212 : S7-PLCSIM est desconectado
17
3.6
EndScanNotify
STDMETHOD(CS7ProSim::EndScanNotify)()
Descripcin
Elimina S7ProSim del registro para rellamadas del PLC. Los eventos ScanFinished y PLCSimStateChanged ya no se envan.
Parmetros
Ninguno
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF PS_E_NOTREGISTERED Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x80040211 : S7ProSim no est conectado a S7-PLCSIM 0x80040212 : S7-PLCSIM est desconectado 0x80040209 : S7ProSim no est registrado para rellamadas de S7-PLCSIM
S7ProSim V5.4
18
3.7
ExecuteNmsScan
STDMETHOD(CS7ProSim::ExecuteNmsScan)( long MsNumber)
Descripcin
Obliga a S7-PLCSIM a ejecutar ciclos durante un tiempo determinado (Nms), sin esperar a que finalice la ejecucin del ciclo actual. Si est activada la notificacin de ciclos, el programa recibir un aviso cuando S7-PLCSIM haya finalizado los ciclos. Para poder utilizar este mtodo, S7-PLCSIM deber encontrarse en el modo de ejecucin cclico.
Parmetros
Parmetro Declaracin Input Descripcin Tiempo (en milisegundos) durante el que deben ejecutarse los ciclos del programa.
MsNumber
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_NOTSINGLESCAN PS_E_PLCNOTRUNNING PS_E_NOTCONNECTED Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x8004020A : En S7-PLCSIM no est ajustado el modo de ejecucin cclico 0x8004020E : S7-PLCSIM no se est ejecutando 0x80040211 : S7ProSim no est conectado a S7-PLCSIM
19
3.8
ExecuteNScans
STDMETHOD(CS7ProSim::ExecuteNScans)( long NScanNumber)
Descripcin
Obliga a S7-PLCSIM a ejecutar un nmero determinado de ciclos sin esperar a que finalice la ejecucin del ciclo actual. Si est activada la notificacin de ciclos, el programa recibir un aviso cuando S7-PLCSIM haya finalizado los ciclos. Para poder utilizar este mtodo, S7-PLCSIM deber encontrarse en el modo de ejecucin cclico.
Parmetros
Parmetro Declaracin Input Descripcin Nmero de ciclos que deben ejecutarse
NScanNumber
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_NOTSINGLESCAN PS_E_PLCNOTRUNNING PS_E_NOTCONNECTED Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x8004020A : En S7-PLCSIM no est ajustado el modo de ejecucin cclico 0x8004020E : S7-PLCSIM no se est ejecutando 0x80040211 : S7ProSim no est conectado a S7-PLCSIM
S7ProSim V5.4
20
3.9
ExecuteSingleScan
STDMETHOD(CS7ProSim::ExecuteSingleScan)()
Descripcin
Obliga a S7-PLCSIM a ejecutar un ciclo individual sin esperar a que finalice la ejecucin del ciclo actual. Si est activada la notificacin de ciclos, el programa recibir un aviso cuando S7-PLCSIM haya finalizado el ciclo. Para poder utilizar este mtodo, S7-PLCSIM deber encontrarse en el modo de ejecucin cclico.
Parmetros
Ninguno
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_PLCNOTRUNNING PS_E_NOTSINGLESCAN PS_E_MODENOTPOSSIBLE Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x8004020E : S7-PLCSIM no se est ejecutando 0x8004020A : En S7-PLCSIM no est ajustado el modo de ejecucin cclico 0x8004020C : S7-PLCSIM no ha podido activar el modo de funcionamiento indicado
21
3.10
GetPauseState
STDMETHOD(CS7ProSim::GetPauseState)( PauseStateConstants *pVal)
Descripcin
Devuelve el estado de pausa actual de S7-PLCSIM.
Parmetros
Parmetro Declaracin Output Descripcin Puntero al estado devuelto de S7-PLCSIM; se trata de uno de los ajustes PauseStateConstants
pVal
Notas Si se llama desde Visual Basic y C#, el estado de pausa se devuelve en el valor de retorno de la funcin y no hay ningn pVal. Si se llama desde C++, el estado se devuelve en el valor al que seala pVal.
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK PS_E_NOTCONNECTED Significado 0x00000000 : Cdigo de xito 0x80040211 : S7ProSim no est conectado a S7-PLCSIM
S7ProSim V5.4
22
3.11
GetScanMode
STDMETHOD(CS7ProSim::GetScanMode)( ScanModeConstants *pVal)
Descripcin
Notifica el modo de funcionamiento de S7-PLCSIM.
Parmetros
Parmetro Declaracin Output Descripcin Puntero al modo de funcionamiento devuelto. El modo de funcionamiento devuelto es una de las ScanModeConstants
pVal
Notas
Si se llama desde Visual Basic y C#, el modo de funcionamiento se devuelve en el valor de retorno de la funcin y no hay ningn pVal. Si se llama desde C++, el estado se devuelve en el valor al que seala pVal.
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK PS_E_NOTCONNECTED Significado 0x00000000 : Cdigo de xito 0x80040211 : S7ProSim no est conectado a S7-PLCSIM
23
3.12
GetStartUpSwitch
STDMETHOD(CS7ProSim::GetStartUpSwitch)( RestartSwitchPosition *pPos)
Descripcin
Obtiene la configuracin de arranque (rearranque, arranque en caliente o en fro) para S7-PLCSIM.
Parmetros
Parmetro Declaracin Output Descripcin Puntero al valor de posicin de arranque de S7-PLCSIM que es uno de los ajustes RestartSwitchPosition
pPos
Notas Si se llama desde Visual Basic y C#, la posicin del selector se devuelve en el valor de retorno de la funcin y no hay ningn pPos. Si se llama desde C++, el estado se devuelve en el valor al que seala pPos.
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK PS_E_NOTCONNECTED Significado 0x00000000 : Cdigo de xito 0x80040211 : S7ProSim no est conectado a S7-PLCSIM
S7ProSim V5.4
24
3.13
GetState
STDMETHOD(CS7ProSim::GetState)( BSTR *pVal)
Descripcin
Devuelve una cadena que contiene la posicin actual del interruptor de llave de S7-PLCSIM (RUN, RUN-P o STOP).
Parmetros
Parmetro Declaracin Output Descripcin Puntero al valor devuelto de la posicin del interruptor de llave de S7-PLCSIM.
pVal
Notas Si se llama desde Visual Basic y C#, el estado se devuelve en el valor de retorno de la funcin y no hay ningn pVal. Si se llama desde C++, el estado se devuelve en el valor al que seala pVal.
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL E_INVALID_STATE PS_E_NOTCONNECTED Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x00008002 : Estado no vlido 0x80040211 : S7ProSim no est conectado a S7-PLCSIM
25
3.14
HotStartWithSavedValues
STDMETHOD(CS7ProSim::HotStartWithSavedValues)( BOOL val)
Descripcin
Activa un valor booleano para indicar si S7-PLCSIM debe cargar valores de E/S guardados de la periferia cuando se arranque en el estado HotStart. Para que S7-PLCSIM cargue E/S de la periferia al arrancar, el usuario debe llamar HotStartWithSavedValues con el valor TRUE, guardar el programa del PLC (SavePLC) y ajustar a HotStart (SetStartUpSwitch) el estado de arranque para S7-PLCSIM. S7-PLCSIM cargar las E/S de la periferia al arrancar.
Parmetros
Parmetro Declaracin Input Descripcin El valor TRUE indica que S7-PLCSIM debe cargar los datos guardados de las E/S de la periferia al rearrancar. El valor FALSE indica que esto no debe ocurrir.
val
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK PS_E_NOTCONNECTED Significado 0x00000000 : Cdigo de xito 0x80040211 : S7ProSim no est conectado a S7-PLCSIM
S7ProSim V5.4
26
3.15
Pause
STDMETHOD(CS7ProSim::Pause)()
Descripcin
Detiene una simulacin.
Parmetros
Ninguno
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK PS_E_NOTCONNECTED Significado 0x00000000 : Cdigo de xito 0x80040211 : S7ProSim no est conectado a S7-PLCSIM
27
3.16
ReadDataBlockValue
STDMETHOD(CS7ProSim::ReadDataBlockValue)( long BlockNumber, long ByteIndex, long BitIndex, PointDataTypeConstants DataType, VARIANT* pData)
Descripcin
Lee un bit (Boolean), un byte (Byte), una palabra de 16 bits (Integer) o una palabra de 32 bits (Long) determinada del rea de memoria de un bloque de datos.
Parmetros
Parmetro Declaracin Input Input Input Descripcin Nmero del bloque de datos que se debe leer. Los valores vlidos de BlockNumberdependen de la CPU. Posicin del byte inicial en el bloque de datos que se va a leer. Los valores vlidos de ByteIndexdependen de la CPU. Posicin del bit inicial en el bloque de datos que se va a leer (si se lee un valor booleano (Bit)). Los valores vlidos de BitIndex estn comprendidos entre 0 y 7. Tipo de datos que se va leer. DataType debe ser una de las PointDataTypeConstants. Puntero a los datos ledos. Los valores vlidos de Data dependen del tipo de datos. Es necesario asignar y liberar este rea de memoria en la aplicacin.
Nota Si el DataType es un S7_Bit, entonces es necesario ajustar ByteIndex y BitIndex ambos a ndices vlidos. Si se ejecuta correctamente, el mtodo devuelve el bit indicado en pData y su tipo de datos Variant es booleano. Si el DataType es un S7_Byte, S7_Word o S7_DoubleWord, entonces ByteIndex debe ajustarse a un ndice vlido (BitIndex se ignora). Si se ejecuta correctamente, el mtodo devuelve el valor en pData. El tipo de datos de Variant es Byte, Integer, o Long, segn el DataType.
S7ProSim V5.4
28
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF PS_E_BADTYPE PS_E_BADBYTENDX PS_E_BADBYTECOUNT PS_E_READFAILED Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x80040211 : S7ProSim no est conectado a S7-PLCSIM 0x80040212 : S7-PLCSIM est desconectado 0x80040206 : Tipo de datos no vlido 0x80040201 : ndice de byte no vlido 0x80040202 : El tamao de la matriz de datos no es vlido para el ndice del byte inicial indicado 0x80040203 : Error en la operacin de lectura
29
3.17
ReadFlagValue
STDMETHOD(CS7ProSim::ReadFlagValue)( long ByteIndex, long BitIndex, PointDataTypeConstants DataType, VARIANT* pData)
Descripcin
Lee un bit (Boolean), un byte (Byte), una palabra de 16 bits (Integer) o una palabra de 32 bits (Long) determinada del rea de memoria de marcas.
Parmetros
Parmetro Declaracin Input Descripcin Representa la posicin del byte inicial que se va a leer en la memoria de marcas. Los valores vlidos de ByteIndexdependen de la CPU. Representa la posicin del bit inicial que se va a leer en la memoria de marcas (si se lee un valor booleano (Bit)). Los valores vlidos de BitIndex estn comprendidos entre 0 y 7. Representa el tipo de datos que se va a leer. DataType debe ser una de las PointDataTypeConstants. Puntero a los datos ledos. Los valores vlidos de Data dependen del tipo de datos. Es necesario asignar y liberar este rea de memoria en la aplicacin.
Input
Nota Si el DataType es un S7_Bit, entonces es necesario ajustar ByteIndex y BitIndex ambos a ndices vlidos. Si se ejecuta correctamente, el mtodo devuelve el bit indicado en pData y su tipo de datos Variant es booleano. Si el DataType es un S7_Byte, S7_Word o S7_DoubleWord, entonces ByteIndex debe ajustarse a un ndice vlido (BitIndex se ignora). Si se ejecuta correctamente, el mtodo devuelve el valor en pData. El tipo de datos de Variant es Byte, Integer, o Long, segn el DataType.
S7ProSim V5.4
30
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF PS_E_BADTYPE PS_E_BADBYTENDX PS_E_BADBYTECOUNT PS_E_READFAILED Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x80040211 : S7ProSim no est conectado a S7-PLCSIM 0x80040212 : S7-PLCSIM est desconectado 0x80040206 : Tipo de datos no vlido 0x80040201 : ndice de byte no vlido 0x80040202 : El tamao de la matriz de datos no es vlido para el ndice del byte inicial indicado 0x80040203 : Error en la operacin de lectura
31
3.18
ReadOutputImage
STDMETHOD(CS7ProSim::ReadOutputImage)( long StartIndex, long ElementsToRead, ImageDataTypeConstants DataType, VARIANT* pData)
Descripcin
Lee elementos del rea de periferia de las salidas (rea de memoria PQ) de S7-PLCSIM.
Parmetros
Parmetro Declaracin Input Descripcin Representa la posicin del byte inicial que se va a leer en el rea de periferia de las salidas. Los valores vlidos de StartIndexdependen de la CPU. Representa el nmero de bytes, palabras o palabras dobles que se va a leer de la memoria imagen. Los valores vlidos de ElementsToRead dependen de la CPU. Representa el tipo de datos que se va a leer. El DataType debe ser una de las ImageDataTypeConstants. Puntero a los datos ledos. Los valores vlidos de Data dependen del tipo de datos. Es necesario asignar y liberar este rea de memoria en la aplicacin.
Input
Nota Si el DataType es un S7_Bit, entonces es necesario ajustar ByteIndex y BitIndex ambos a ndices vlidos. Si se ejecuta correctamente, el mtodo devuelve el bit indicado en pData y su tipo de datos Variant es booleano. Si el DataType es un S7_Byte, S7_Word o S7_DoubleWord, entonces ByteIndex debe ajustarse a un ndice vlido (BitIndex se ignora). Si se ejecuta correctamente, el mtodo devuelve el valor en pData. El tipo de datos de Variant es Byte, Integer, o Long, segn el DataType.
S7ProSim V5.4
32
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_BADBYTENDX PS_E_BADBYTECOUNT PS_E_READFAILED PS_E_BADTYPE PS_E_NOTALLREADSWORKED PS_E_NOTCONNECTED PS_E_POWEROFF Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x80040201 : ndice de byte no vlido 0x80040202 : El tamao de la matriz de datos no es vlido para el ndice del byte inicial indicado 0x80040203 : Error en la operacin de lectura 0x80040206 : Tipo de datos no vlido 0x8004020F : No se han ejecutado correctamente todas las operaciones de lectura 0x80040211 : S7ProSim no est conectado a S7-PLCSIM 0x80040212 : S7-PLCSIM est desconectado
33
3.19
ReadOutputPoint
STDMETHOD(CS7ProSim::ReadOutputPoint)( long ByteIndex, long BitIndex, PointDataTypeConstants DataType, VARIANT* pData)
Descripcin
Lee un bit (Boolean), un byte (Byte), una palabra de 16 bits (Integer) o una palabra de 32 bits (Long) del rea de periferia de las salidas (rea de memoria PQ).
Parmetros
Parmetro Declaracin Input Descripcin Representa la posicin del byte inicial que se va a leer en el rea de la periferia. Los valores vlidos de ByteIndexdependen de la CPU. Representa la posicin del bit (en bytes) que se va a leer en el rea de periferia. Los valores vlidos estn comprendidos entre 0 y 7. Una de las PointDataTypeConstants Puntero hacia los datos que se van a leer. Los valores vlidos de Data dependen del tipo de datos.
Input
Notas Si el DataType es un S7_Bit, entonces es necesario ajustar ByteIndex y BitIndex ambos a ndices vlidos. Si se ejecuta correctamente, el mtodo devuelve el bit indicado en pData y su tipo de datos Variant es booleano. Si el DataType es un S7_Byte, S7_Word o S7_DoubleWord, entonces ByteIndex debe ajustarse a un ndice vlido (BitIndex se ignora). Si se ejecuta correctamente, el mtodo devuelve el valor en pData. El tipo de datos de Variant es Byte, Integer, o Long, segn el DataType.
S7ProSim V5.4
34
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_BADBYTENDX PS_E_BADBYTECOUNT PS_E_READFAILED PS_E_BADBITNDX PS_E_BADTYPE PS_E_NOTCONNECTED PS_E_POWEROFF Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x80040201 : ndice de byte no vlido 0x80040202 : El tamao de la matriz de datos no es vlido para el ndice del byte inicial indicado 0x80040203 : Error en la operacin de lectura 0x80040205 : ndice de bit no vlido 0x80040206 : Tipo de datos no vlido 0x80040211 : S7ProSim no est conectado a S7-PLCSIM 0x80040212 : S7-PLCSIM est desconectado
35
3.20
SavePLC
STDMETHOD(CS7ProSim::SavePLC)( BSTR FileName)
Descripcin
Guarda en un archivo los datos actuales del PLC simulados. Los datos que se almacenan incluyen el programa, la configuracin hardware, la posicin del interruptor de llave que indica la subventana "CPU", el tipo de ejecucin del ciclo (continuo o por ciclos individuales), el estado de las E/S, los valores de los temporizadores, las direcciones simblicas y el estado de la alimentacin ("on" u "off").
Parmetros
Parmetro Declaracin Input Descripcin Nombre del archivo en el que deben guardarse los datos del sistema de destino simulado
FileName
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK STG_E_CANTSAVE PS_E_NOTCONNECTED Significado 0x00000000 : Cdigo de xito 0x80030103 : Imposible guardar 0x80040211 : S7ProSim no est conectado a S7-PLCSIM
S7ProSim V5.4
36
3.21
SetScanMode
STDMETHOD(CS7ProSim::SetScanMode)( ScanModeConstants newVal)
Descripcin
Ajusta el modo de funcionamiento de S7-PLCSIM.
Parmetros
Parmetro Declaracin Input Descripcin Modo de funcionamiento a ajustar en S7-PLCSIM. El modo de funcionamiento debe ser una de las ScanModeConstants.
newVal
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK PS_E_NOTCONNECTED Significado 0x00000000 : Cdigo de xito 0x80040211 : S7ProSim no est conectado a S7-PLCSIM
37
3.22
SetStartUpSwitch
STDMETHOD(CS7ProSim::SetStartUpSwitch)( RestartSwitchPosition postion)
Descripcin
Ajusta el tipo de arranque (rearranque, arranque en caliente o en fro) para el arranque de S7-PLCSIM.
Parmetros
Parmetro Declaracin Input Descripcin Valor de la posicin de arranque que se va a ajustar en S7PLCSIM
position
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK PS_E_NOTCONNECTED Significado 0x00000000 : Cdigo de xito 0x80040211 : S7ProSim no est conectado a S7-PLCSIM
S7ProSim V5.4
38
3.23
SetState
STDMETHOD(CS7ProSim::SetState)( BSTR newVal)
Descripcin
Ajusta la posicin actual del interruptor de llave de S7-PLCSIM (RUN, RUN-P o STOP).
Parmetros
Parmetro Declaracin Input Descripcin Valor a ajustar para la posicin del interruptor de llave en S7-PLCSIM; son vlidos los siguientes valores RUN, RUN_P, STOP y MRES
newVal
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL E_INVALID_STATE PS_E_NOTCONNECTED Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x00008002 : Estado no vlido 0x80040211 : S7ProSim no est conectado a S7-PLCSIM
39
3.24
StartPLCSim
STDMETHOD(CS7ProSim::StartPLCSim)( BSTR plcFile)
Descripcin
Inicia la primera instancia de S7-PLCSIM con el archivo_de_simulacin_PLC indicado (guardado por una llamada anterior de SavePLC).
Parmetros
Parmetro Declaracin Input Descripcin Nombre del archivo con el que debe iniciar S7-PLCSIM
plcFile
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado
S7ProSim V5.4
40
3.25
StartPLCSimExt
STDMETHOD(StartPLCSimExt)(/*[in]*/ BSTR plcFile)
Descripcin
Inicia una instancia de S7-PLCSIM con el archivo de simulacin de PLC indicado (guardado por una llamada anterior).
Parmetro
Parmetro Declaracin Input Descripcin Nombre del archivo con el que debe iniciar S7-PLCSIM
plcFile [in]
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_MAXINSTANCE Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x80040214 : Nmero mximo de instancias abiertas de S7 PLCSIM alcanzado
41
3.26
WriteDataBlockValue
STDMETHOD(CS7ProSim::WriteDataBlockValue)( long BlockNumber, long ByteIndex, long BitIndex, const VARIANT* pData)
Descripcin
Escribe un bit (Boolean), un byte (Byte), una palabra de 16 bits (Integer) o una palabra de 32 bits (Long) determinada en el rea de memoria de un bloque de datos.
Parmetros
Parmetro Declaracin Input Input Descripcin Representa el nmero del bloque de datos que se va a escribir. Los valores vlidos de BlockNumberdependen de la CPU. Representa la posicin del byte inicial que se va a escribir en el bloque de datos. Los valores vlidos de ByteIndexdependen de la CPU. Representa la posicin del bit inicial que se va a escribir en el bloque de datos, si debe escribirse un valor (de bit) booleano. Los valores vlidos de BitIndex estn comprendidos entre 0 y 7.
Input
Input
Notas Si el DataType es un S7_Bit, entonces es necesario ajustar ByteIndex y BitIndex ambos a ndices vlidos. Si se ejecuta correctamente, el mtodo escribe el bit indicado (pData) en el bloque de datos con el nmero BlockNumber. Si el DataType es un S7_Byte, S7_Word o S7_DoubleWord, entonces ByteIndex debe ajustarse a un ndice vlido (BitIndex se ignora). Si se ejecuta correctamente, el mtodo devuelve el valor en pData. El tipo de datos de Variant es Byte, Integer, o Long, segn el DataType.
S7ProSim V5.4
42
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF PS_E_BADTYPE PS_E_BADBYTENDX PS_E_BADBYTECOUNT PS_E_WRITEFAILED Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x80040211 : S7ProSim no est conectado a S7-PLCSIM 0x80040212 : S7-PLCSIM est desconectado 0x80040206 : Tipo de datos no vlido 0x80040201 : ndice de byte no vlido 0x80040202 : El tamao de la matriz de datos no es vlido para el ndice del byte inicial indicado 0x80040204 : Error en la operacin de escritura
43
3.27
WriteFlagValue
STDMETHOD(CS7ProSim::WriteFlagValue)( long ByteIndex, long BitIndex, const VARIANT* pData)
Descripcin
Escribe un bit (Boolean), un byte (Byte), una palabra de 16 bits (Integer) o una palabra de 32 bits (Long) determinada en el rea de memoria de marcas.
Parmetros
Parmetro Declaracin Input Descripcin Representa la posicin del byte inicial en el rea de memoria de marcas en el que se va a escribir. Los valores vlidos de ByteIndexdependen de la CPU. Representa la posicin del bit inicial en el rea de la memoria de marcas, si debe escribirse un valor (de bit) booleano. Los valores vlidos de BitIndex estn comprendidos entre 0 y 7.
Input
Input
Notas Si el DataType es un S7_Bit, entonces es necesario ajustar ByteIndex y BitIndex ambos a ndices vlidos. Si se ejecuta correctamente, el mtodo escribe el bit indicado (pData) en el bloque de datos con el nmero BlockNumber. Si el DataType es un S7_Byte, S7_Word o S7_DoubleWord, entonces ByteIndex debe ajustarse a un ndice vlido (BitIndex se ignora). Si se ejecuta correctamente, el mtodo devuelve el valor en pData. El tipo de datos de Variant es Byte, Integer, o Long, segn el DataType.
S7ProSim V5.4
44
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_NOTCONNECTED PS_E_POWEROFF PS_E_BADTYPE PS_E_BADBYTENDX PS_E_BADBYTECOUNT PS_E_WRITEFAILED Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x80040211 : S7ProSim no est conectado a S7-PLCSIM 0x80040212 : S7-PLCSIM est desconectado 0x80040206 : Tipo de datos no vlido 0x80040201 : ndice de byte no vlido 0x80040202 : El tamao de la matriz de datos no es vlido para el ndice del byte inicial indicado 0x80040204 : Error en la operacin de escritura
45
3.28
WriteInputImage
STDMETHOD(CS7ProSim::WriteInputImage)( long StartIndex, const VARIANT* pData)
Descripcin
Escribe elementos en el rea de periferia de las entradas de la periferia (rea de memoria PI) de S7-PLCSIM, comenzando en el StartIndex de los datos a los que seala pData.
Parmetros
Parmetro Declaracin Input Descripcin Representa la posicin del byte inicial que se va a escribir en el rea de periferia de las entradas. Los valores vlidos de StartIndexdependen de la CPU. Puntero hacia los datos que debe escribir S7-PLCSIM. Los valores vlidos de los datos dependen de la CPU. Es necesario asignar y liberar este rea de memoria en la aplicacin.
StartIndex pData
Input
Notas El tipo de elementos que se debe escribir viene especificado por el tipo de elementos de Data. Todos los elementos deben pertenecer a un mismo tipo de datos. Un array Byte escribe bytes, un array Integer escribe palabras y un array Long escribe palabras dobles. Los valores escritos son "sin formato" y no son evaluados o convertidos de modo alguno por el mtodo. El nmero de elemen tos escritos viene especificado por el tamao del arranque al que seala Data.
S7ProSim V5.4
46
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_BADBYTENDX PS_E_BADBYTECOUNT PS_E_WRITEFAILED PS_E_BADTYPE PS_E_NOTALLWRITESWORKED PS_E_NOTCONNECTED PS_E_POWEROFF Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x80040201 : ndice de byte no vlido 0x80040202 : El tamao de la matriz de datos no es vlido para el ndice del byte inicial indicado 0x80040204 : Error en la operacin de escritura 0x80040206 : Tipo de datos no vlido 0x80040210 : No se han ejecutado correctamente todas las operaciones de escritura 0x80040211 : S7ProSim no est conectado a S7-PLCSIM 0x80040212 : S7-PLCSIM est desconectado
47
3.29
WriteInputPoint
STDMETHOD(CS7ProSim::WriteInputPoint)( long ByteIndex, long BitIndex, const VARIANT* pData)
Descripcin
Escribe un bit (Boolean), un byte (Byte), una palabra de 16 bits (Integer) o una palabra de 32 bits (Long) determinada de la variante Data en el rea de periferia de las entradas (rea de memoria PI).
Parmetros
Parmetro Declaracin Input Descripcin Representa la posicin del byte inicial que se va a escribir en el rea de periferia de las entradas. Los valores vlidos de ByteIndexdependen de la CPU. Representa la posicin del bit (en bytes) que se va a escribir en el rea de la periferia. Los valores vlidos estn comprendidos entre 0 y 7. Puntero hacia los datos que se van a escribir. Los valores vlidos de Data dependen del tipo de datos.
Input
Input
Notas Si se especifica el tipo de datos booleano, ByteIndex y BitIndex debern ajustarse ambos a ndices vlidos. Si se ejecuta correctamente, el mtodo escribe el bit indicado en pData. Si el tipo de datos indicado es Byte, Integer o Long, ByteIndex deber ajustarse a un ndice vlido (BitIndex se ignorar). Si se ejecuta correctamente, el mtodo escribe los elementos en pData.
S7ProSim V5.4
48
Tratamiento de errores
Los errores son notificados en el evento ConnectionError y no por la llamada de la funcin.
Valor de retorno
Valor S_OK E_FAIL PS_E_BADBYTENDX PS_E_BADBYTECOUNT PS_E_WRITEFAILED PS_E_BADBITNDX PS_E_BADTYPE PS_E_NOTCONNECTED PS_E_POWEROFF Significado 0x00000000 : Cdigo de xito 0x80004005 : Error no especificado 0x80040201 : ndice de byte no vlido 0x80040202 : El tamao de la matriz de datos no es vlido para el ndice del byte inicial indicado 0x80040204 : Error en la operacin de escritura 0x80040205 : ndice de bit no vlido 0x80040206 : Tipo de datos no vlido 0x80040211 : S7ProSim no est conectado a S7-PLCSIM 0x80040212 : S7-PLCSIM est desconectado
49
S7ProSim V5.4
50
Eventos
4
Evento ConnectionError (Pgina 51) Significado Se genera si no es posible establecer una conexin con el Control Engine ("S7-PLCSIM") o cuando ocurre un error al llamar a un mtodo de S7ProSim. Se genera al detectarse un cambio de estado de Detener/Continuar. NewState es una cadena de caracteres que representa una de las PauseStateConstants. Se genera al detectarse un nuevo estado del selector de modo del sistema de destino. NewState es el nuevo estado operativo: "RUN", "RUN_P" o "STOP". Se genera cuando se ejecuta un ciclo individual. ScanInfo ofrece informaciones indexadas acerca del ciclo. Se genera cuando se detecta un cambio del modo de funcionamiento. NewState es una cadena de caracteres que representa una de las ScanModeConstants.
Sinopsis
PauseStateChanged (Pgina 52) PLCSimStateChanged (Pgina 52) ScanFinished (Pgina 52) ScanModeChanged (Pgina 53)
4.1
ConnectionError
HRESULT ConnectionError(BSTR ControlEngine, long Error)
Descripcin
Se genera si no es posible establecer una conexin con el sistema de destino simulado en S7-PLCSIM o cuando ocurre un error al llamar a un mtodo de S7ProSim.
51
4.2
PauseStateChanged
HRESULT PauseStateChanged(BSTR NewState)
Descripcin
Se genera al detectarse un cambio de estado de Detener/Continuar. NewState es una cadena de caracteres que representa una de las PauseStateConstants.
4.3
PLCSimStateChanged
HRESULT PLCSimStateChanged(BSTR NewState)
Descripcin
Se genera al detectarse un nuevo estado del selector de modo del sistema de destino. NewState es el nuevo estado operativo: "RUN", "RUN_P" o "STOP".
4.4
ScanFinished
HRESULT ScanFinished(VARIANT ScanInfo)
Descripcin
Se genera cuando se ejecuta un ciclo individual. ScanInfo ofrece informaciones indexadas acerca del ciclo.
S7ProSim V5.4
52
4.5
ScanModeChanged
HRESULT ScanModeChanged(BSTR NewState)
Descripcin
Se genera cuando se detecta un cambio del modo de funcionamiento. NewState es una cadena de caracteres que representa una de las ScanModeConstants.
53
S7ProSim V5.4
54
Definiciones de tipo
5.1 Definiciones de tipo
Tipo CPURunMode (Pgina 55) ImageDataTypeConstants (Pgina 56) PauseStateConstants (Pgina 56) PointDataTypeConstants (Pgina 57) RestartSwitchPosition (Pgina 57) ScanModeConstants (Pgina 58) tagPauseState (Pgina 58) ScanInfoKonstanten (Pgina 59)
Descripcin Constantes del estado del ciclo en modo RUN de la CPU Constantes para el mtodo ReadOutputImage Constantes para el estado de pausa Constantes para el mtodo ReadOutputPoint Constantes para la posicin del interruptor de arranque en el panel frontal Constantes para el modo de funcionamiento Constantes para el estado de pausa Constantes para informacin acerca del ciclo
5.2
CPURunMode
enum CPURunMode { CONTINUOUS_SCAN, SINGLE_SCAN, SINGLE_STEP }
Descripcin
Constantes del estado del ciclo en modo RUN de la CPU
Elementos
CONTINUOUS_SCAN SINGLE_SCAN SINGLE_STEP
55
5.3
ImageDataTypeConstants
enum { S7Byte = 2, S7Word = 3, S7DoubleWord = 4 }
Descripcin
Constantes para el mtodo ReadOutputImage
Elementos
S7Byte S7DoubleWord S7Word
5.4
PauseStateConstants
enum { Running = 0, Paused = 1, Disabled = 2 }
Descripcin
Constantes para el estado de pausa
Elementos
DISABLED Paused Running
S7ProSim V5.4
56
5.5
PointDataTypeConstants
enum { S7_Bit = 1, S7_Byte = 2, S7_Word = 3, S7_DoubleWord = 4 }
Descripcin
Constantes para el mtodo ReadOutputPoint
Elementos
S7_Bit S7_Byte S7_DoubleWord S7_Word
5.6
RestartSwitchPosition
enum { WarmStart = 0, HotStart = 1, ColdStart = 2 }
Descripcin
Constantes para la posicin del interruptor de arranque en el panel frontal
Elementos
ColdStartPosicin de rearranque OB102
HotStartWiederanlaufposition OB101
57
5.7
ScanModeConstants
enum { SingleScan = 0, ContinuousScan = 1 }
Descripcin
Constantes para el modo de funcionamiento
Elementos
ContinuousScan SingleScan
5.8
tagPauseState
enum tagPauseState { ENABLED_RUNNING, ENABLED_PAUSED, DISABLED }
Descripcin
Constantes para el estado de pausa
Elementos
DISABLED ENABLED_PAUSED ENABLED_RUNNING
S7ProSim V5.4
58
5.5
ScanInfo
ScanInfoKonstanten
El tipo de datos Variant ScanInfo representa un array del tipo de datos Long. Cada tipo de datos Long del array define algunas informaciones acerca del ciclo, conforme a la definicin de las constantes ScanInfo.
Tabla 5- 1 Componente NUM_OF_SCANINFO_ELEMENTS EXECUTION_TIME_NDX MIN_CYCLE_TIME_NDX LARGEST_CYCLE_TIME_NDX AVERAGE_CYCLE_TIME_NDX IS_PLC_RUNNING_NDX Constantes ScanInfo Significado Nmero de elementos en la matriz de retorno ScanInfo. ndice 0: Tiempo de ejecucin en ms ndice 1: Tiempo de ejecucin ms corto en ms ndice 2: Tiempo de ejecucin mximo en ms ndice 3: Tiempo de ciclo medio en ms Definicin 5 0 1 2 3
5.6
Cdigos de error
59
Cdigo de error PS_E_NOTALLWRITESWORKED PS_E_NOTCONNECTED PS_E_NOTIFICATION_EXIST PS_E_NOTREGISTERED PS_E_NOTSINGLESCAN PS_E_PLCNOTRUNNING PS_E_POWEROFF PS_E_READFAILED PS_E_WRITEFAILED E_FAIL E_INVALID_STATE S_OK STG_E_CANTSAVE
Significado 0x80040210 : No se han ejecutado correctamente todas las operaciones de escritura 0x80040211 : S7ProSim no est conectado a S7-PLCSIM 0x8004020D : S7ProSim ya est registrado para la notificacin 0x80040209 : S7ProSim no est registrado para rellamadas de S7-PLCSIM 0x8004020A : En S7-PLCSIM no est ajustado el modo de ejecucin cclico 0x8004020E : S7-PLCSIM no se est ejecutando 0x80040212 : S7-PLCSIM est desconectado 0x80040203 : Error en la operacin de lectura 0x80040204 : Error en la operacin de escritura 0x80004005 : Error no especificado 0x00008002 : Estado no vlido 0x00000000 : Cdigo de xito 0x80030103 : Imposible guardar
S7ProSim V5.4
60
ndice alfabtico
E A
AVERAGE_CYCLE_TIME_NDX, 59 Ejecucin cclica del programa ExecuteNmsScan, 19 ExecuteNScans, 20 ExecuteSingleScan, 21 GetScanMode, 23 ScanModeConstants, 58 SetScanMode, 37 Ejecucin del programa en ciclo continuo GetScanMode, 23 ScanModeConstants, 58 SetScanMode, 37 Escribir Entrada, 48 Memoria imagen de las entradas, 46 Valor de marcas (M), 44 Valores del bloque de datos (DB), 42 Estado de pausa Ajuste, 16, 27 Obtener, 22 Evento ConnectionError, 51 Evento PauseStateChanged, 52 Evento PLCSimStateChanged, 52 Evento ScanFinished, 52 Evento ScanModeChanged, 53 Eventos ConnectionError, 51 PauseStateChanged, 52 PLCSimStateChanged, 52 ScanFinished, 52 ScanModeChanged, 53 EXECUTION_TIME_NDX, 59
C
Cargar archivos *.PLC guardados, 40, 41 Cargar E/S de la periferia al rearrancar, 26 Cdigos de error, 59 ColdStart, 57 Ajuste, 38 Constantes, 55 CPURunMode, 55 ImageDataTypeConstants, 56 PauseStateConstants, 56 PointDataTypeConstants, 57 RestartSwitchPosition, 57 ScanModeConstants, 58 tagPauseState, Constantes definidas, 55 CPURunMode, 55 ImageDataTypeConstants, 56 PauseStateConstants, 56 PointDataTypeConstants, 57 RestartSwitchPosition, 57 ScanModeConstants, 58 tagPauseState, Constantes ScanInfo, 59 CPURunMode, 55
D
Definiciones de tipo, 55 CPURunMode, 55 ImageDataTypeConstants, 56 PauseStateConstants, 56 PointDataTypeConstants, 57 RestartSwitchPosition, 57 ScanModeConstants, 58 tagPauseState,
G
Guardar archivos *.PLC, 36
H
Handler de eventos, 8 HotStart, 57 Ajuste, 26, 38
61
ndice alfabtico
I
ImageDataTypeConstants, 56 Introduccin, 7 IS_PLC_RUNNING_NDX, 59 Mtodos BeginScanNotify, 13 Connect, 14 ConnectExt, 15 Continue, 16 Disconnect, 17 EndScanNotify, 18 ExecuteNmsScan, 19 ExecuteNScans, 20 ExecuteSingleScan, 21 GetPauseState, 22 GetScanMode, 23 GetStartUpSwitch, 24 GetState, 25 HotStartWithSavedValues, 26 Pause, 27 ReadDataBlockValue, 28 ReadFlagValue, 30 ReadOutputImage, 32 ReadOutputPoint, 34 SavePLC, 36 SetScanMode, 37 SetStartUpSwitch, 38 SetState, 39 StartPLCSim, 40 StartPLCSimExt, 41 WriteDataBlockValue, 42 WriteFlagValue, 44 WriteInputImage, 46 WriteInputPoint, 48 Mtodos de ejecucin del programa ExecuteNmsScan, 19 ExecuteNScans, 20 ExecuteSingleScan, 21 Mtodos S7ProSim Pro ReadDataBlockValue, 28 ReadFlagValue, 30 WriteDataBlockValue, 42 WriteFlagValue, 44 MIN_CYCLE_TIME_NDX, 59 Modo de funcionamiento Ajuste, 37 Obtener, 23
L
LARGEST_CYCLE_TIME_NDX, 59 Leer Memoria imagen de las salidas, 32 Salida, 34 Valor de marcas (M), 30 Valores del bloque de datos (DB)T, 28
M
Marcas Escribir, 44 Leer, 30 Methode ConnectExt, 15 Mtodo BeginScanNotify, 13 Mtodo Connect, 14 Mtodo Continue, 16 Mtodo Disconnect, 17 Mtodo EndScanNotify, 18 Mtodo ExecuteNmsScan, 19 Mtodo ExecuteNScans, 20 Mtodo ExecuteSingleScan, 21 Mtodo GetPauseState, 22 Mtodo GetScanMode, 23 Mtodo GetStartUpSwitch, 24 Mtodo GetState, 25 Mtodo HotStartWithSavedValues, 26 Mtodo Pause, 27 Mtodo ReadDataBlockValue, 28 Mtodo ReadFlagValue, 30 Mtodo ReadOutputImageT, 32 Mtodo ReadOutputPoint, 34 Mtodo SavePLC, 36 Mtodo SetScanMode, 37 Mtodo SetStartUpSwitch, 38 Mtodo SetState, 39 Mtodo StartPLCSim, 40 Mtodo StartPLCSimExt, 41 Mtodo WriteDataBlockValue, 42 Mtodo WriteFlagValue, 44 Mtodo WriteInputImage, 46 Mtodo WriteInputPoint, 48
N
Notificacin del ciclo, 13, 18 NUM_OF_SCANINFO_ELEMENTS, 59
S7ProSim V5.4
62
ndice alfabtico
O
Objeto COM Siemens S7ProSim, integrar en proyecto, 7
V
Valor de marcas Escribir, 44 Leer, 30 Valores de retorno, 59 Valores del bloque de datos (DB) Escribir, 42 Leer, 28
P
PauseStateConstants, 56 PLCSIM, iniciar, 40, 41 PointDataTypeConstants, 57 Posicin del interruptor de arranque Obtener, 24 Posicin del interruptor de llave Ajuste, 39 Obtener, 25 Posicin del selector de modo, 57 Ajuste, 38 Programar una interfaz S7ProSim para S7-PLCSIM, 8
W
WarmStart, 57 Ajuste, 38
R
Referencia a objeto COM S7ProSim Microsoft Visual Basic, 7 Microsoft Visual C#, 7 Microsoft Visual Studio C++, 7 Referencias, 7 Referencias en el proyecto, 7 RestartSwitchPosition, 57
S
S7-PLCSIM, arrancar, 26 S7-PLCSIM, iniciar, 40, 41 S7ProSim Integrar en proyecto VB, 7 Interfaz para S7-PLCSIM, programar, 8 Sinopsis, 7 ScanModeConstants, 58 Sinopsis, 7
T
tagPauseState, Tipos de enumeracin, 55 CPURunMode, 55 ImageDataTypeConstants, 56 PauseStateConstants, 56 PointDataTypeConstants, 57 RestartSwitchPosition, 57 ScanModeConstants, 58 tagPauseState,
S7ProSim V5.4 Manual del usuario, 07/2011, A5E00992432-02
63
ndice alfabtico
S7ProSim V5.4
64