.. include:: glb_defs.txt .. _`Servidor OPC para o protocolo SCP-HI`: SOS - Servidor OPC para o protocolo SCP_HI ################################################## O SOS é uma aplicação que cria uma interface OPC servidora compatível com o protocolo OPC DA 2.0. Ele utiliza o ScpServerII Server (SS2S) para acesso aos equipamentos remotos, permitindo desta forma, que clientes OPC tenham acesso aos equipamentos conectados ao SS2S. Esta aplicação é capaz de acessar diversos SS2S simultâneamente, assim como o seu acesso através de diversos clientes OPCs também pode ser simultâneo. O servidor OPC da HI Tecnologia é identificado pelo nome **HITecnologia.SOS.DA**. Este nome será utilizado por clientes OPCs para acesso ao servidor. Ícone de interface ******************** O SOS possui um ícone que foi idealizado para fornecer informações de configuração e status operacionais. Quando ativado como uma aplicação windows, o servidor roda em background com um ícone apresentado no taskbar. A figura a seguir define o símbolo utilizado para representar o SOS e identifica os módulos funcionais representados na figura. .. figure:: _img/sos_icone.jpg :align: center Fig. Ícone do SOS .. _`Acesso ao servidor OPC`: Acesso ao servidor OPC ************************ Existem duas informações que devem ser conhecidas por um cliente OPC para que ele acesse dados de um Servidor OPC: o nome do servidor e o padrão de endereçamento (ou formato do namespace). O nome registrado do servidor OPC (SOS) da HI Tecnologia, conforme já mencionado anteriormente é **HITecnologia.SOS.DA**. Quanto ao padrão de endereçamento do SOS, este é divulgado a partir de algumas informações presentes nos módulos SS2S e SOS e é dividido em quatro níveis, possuindo o seguinte formato geral: **Servidor.Driver.Equipamento.Endereço** :: Exemplo: Server_1.Driver_1000.DEV255.M0 .. rst-class:: tbobs ===== ===================================================================== |obs| As configurações do **Driver** e **Equipamento** são dependentes do SS2S acessado e podem ser definidas com o uso do SS2M cujo manual consta no link do :ref:`Monitor remoto do SS2S`. ===== ===================================================================== Nível 1 - Servidor ********************* Este nível é utilizado para identificar qual o servidor de comunicação (SS2S) deve ser utilizado. Este servidor é identificado por um nome definido na etapa de :ref:`configuração do SOS ` conforme apresentado na figura a seguir: .. figure:: _img/sos_config.jpg :align: center Fig. Configuração do acesso ao servidores de comunicação SS2S O valor default para este nome é **Server_1**. Note que o nome especificado deve considerar letras maiuscúlas e minúsculas de forma diferenciada. Nível 2 - Driver ****************** Este nível é utilizado para identificar qual o driver a ser utilizado pelo SS2S especificado. Este driver deve ter sido previamente definido pelo usuário durante o processo de criação dos :ref:`Drivers` do projeto do SS2S. O nome de cada driver pode ser definido livremente pelo usuário conforme indicado na figura a seguir: .. figure:: _img/sos_drivers.jpg :align: center Fig. Lista de drivers de um projeto do SS2S O valor default do primeiro driver criado no SS2S é **Driver_1000**. Note que o nome especificado deve considerar letras maiuscúlas e minúsculas de forma diferenciada. Nível 3 - Equipamento ************************ Este nível é utilizado para identificar o equipamento a ser acessado dentro do servidor e driver definidos nos níveis anteriores. O formato deste campo é **DEVn** onde: **n**: especifica o endereço do equipamento a ser acessado. Este valor pode corresponder ao endereço real do equipamento ou a um endereço definido pela aplicação que, através da funcionalidade de :ref:`remapeamento de endereços do SS2S ` será convertido em um endereço do equipamento. Nível 4 - Endereço ******************** O último campo do endereçamento de um item OPC especifica o endereço da variável a ser obtida ou alterada. A tabela a seguir apresenta os possíveis tipos de dados e respectivos exemplos de utilização: +---------------------------------------------------------------------------------------------------------------------+ |Endereço | +=====================================+=============+=======+=========================================================+ |Tipo de dado |Endereçamento|Exemplo|Descrição do exemplo | +-------------------------------------+-------------+-------+---------------------------------------------------------+ |Bool |R |R23 |Contato de endereço 23. | +-------------------------------------+-------------+-------+---------------------------------------------------------+ |Small Int (inteiro 16 bits com sinal)|M |M58 |Memória inteira de 16 bits de endereço 58. | +-------------------------------------+-------------+-------+---------------------------------------------------------+ |Long Int (inteiro 32 bits com sinal) |L |L14 |Memória inteira de 32 bits de endereço 14. | +-------------------------------------+-------------+-------+---------------------------------------------------------+ |Float (real 32 bits) |D |D9 |Memória real de endereço 9. | +-------------------------------------+-------------+-------+---------------------------------------------------------+ |Vetor de Bool |R |R5:60 |Vetor de contatos iniciando no endereço 5 e com | | | | |o tamanho 60, ou seja, vetor de contatos entre R5 e R64. | +-------------------------------------+-------------+-------+---------------------------------------------------------+ |Vetor de Small Int |M |M13:10 |Vetor de inteiros iniciando no endereço 13 e com o | | | | |tamanho 10, ou seja, vetor de inteiros entre M13 e M22. | +-------------------------------------+-------------+-------+---------------------------------------------------------+ |Vetor de Long Int |L |L2:5 |Vetor de inteiros de 32 bits iniciando no endereço | | | | |2 e com o tamanho 5, ou seja, vetor de inteiros | | | | |entre L2 e L6. | +-------------------------------------+-------------+-------+---------------------------------------------------------+ |Vetor de Float |D |D0:100 |Vetor de floats iniciando no endereço 0 e com o | | | | |tamanho 100, ou seja, vetor de floats entre D0 e D99. | +-------------------------------------+-------------+-------+---------------------------------------------------------+ |String (mapeada em M) |Mx |Mx10:20|Vetor de 20 caracteres mapeados a partir da memória M10. | | | | |Como um inteiro contém informação de 2 caracteres, para | | | | |20 caracteres,são utilizados 10 inteiros. | +-------------------------------------+-------------+-------+---------------------------------------------------------+ +---------------------------------------------------------------------------------+ |Exemplos de endereçamento de itens nos equipamentos | +================================+================================================+ |Endereço OPC |Descrição | +--------------------------------+------------------------------------------------+ |Server_1.Driver_1000.DEV3.M0 |item associado à variável M0000 do equimento | | |com endereço de comunicação igual a 3. | +--------------------------------+------------------------------------------------+ |Server_1.Driver_1000.DEV15.D45:3|item associado às variáveis D0045, D0046 e | | |D0047 do equimento com endereço de comunicação | | |igual a 15. | +--------------------------------+------------------------------------------------+ |MyServer.ABC.DEV32.L10:2 |item associado às variáveis L0010 e L0011 do | | |equimento com endereço de comunicação igual a | | |32. O link com o SS2S possui o nome MyServer | | |e possui um driver com nome ABC. | +--------------------------------+------------------------------------------------+ Itens locais publicados pela camada servidora OPC *************************************************** O SOS disponibiliza um conjunto de informações de suporte na forma de itens, que podem ser acessadas pelo cliente OPC para: * gerenciar a conexão com o SS2S, verificando se o link entre o SOS e o SS2S está funcional; * gerenciar o estado de conexão com o driver do SS2S que se deseja utilizar; * gerenciar o estado de conexão com o equipamento a ser acessado; * obter informações funcionais e operacionais dos equipamentos acessados. Itens locais associados ao servidor (Server) ================================================ Quando o **SOS** é ativado, este utiliza as :ref:`informações de configuração ` para se conectar com os servidores **SS2S**. Uma vez realizadas estas conexões, o **SOS** disponibiliza no seu *namespace* para cada servidor conectado, os itens apresentados na figura a seguir: .. figure:: _img/sos_ns_1.jpg :align: center Fig. Itens associados ao servidor e driver disponibilizados pelo SOS Conforme indicado na figura anterior, o item que representa o servidor (**Server_1**) possui 4 subitens distintos apresentados na tabela a seguir: +-----------------------------------------------------------------------------------+ |Itens locais do servidor | +===========+=========================================================+=============+ |Item OPC |Descrição |Default | +-----------+---------------------------------------------------------+-------------+ |state |Representa o estado do link entre o SOS e o SS2S. |connected | | |Os possíveis valores deste campo são strings que | | | |estão descritas na tabela | | | |de :ref:`estado do link `. | | +-----------+---------------------------------------------------------+-------------+ |stateCode |Disponibiliza um código númerico associado ao estado |7 | | |do link entre o SOS e o SS2S. Esta informação é identica | | | |à do item state, sendo apenas disponibilizada na forma de| | | |código numérico no lugar de texto. | | | |Consulte a | | | |:ref:`tabela de estado do link ` | | | |para identificar os possíveis valores para este item. | | +-----------+---------------------------------------------------------+-------------+ |driversList|disponibiliza um vetor com os nomes de todos os drivers | | | |disponíveis no servidor (SS2S) conectado. |[Driver_1000]| +-----------+---------------------------------------------------------+-------------+ |DriverN |Representa um driver identificado no SS2S para acesso ao |Driver_1000 | | |equipamento. Este item irá se repetir para cada driver | | | |definido no servidor conectado. Como o SS2S suporta até | | | |32 drivers distintos, esta lista de itens poderá se | | | |estender até este limite. Note que o nome apresentado | | | |para este item é o nome do driver que deverá ser | | | |utilizado pelo cliente OPC para acesso ao mesmo. | | +-----------+---------------------------------------------------------+-------------+ .. _`state-statecode`: state,stateCode ----------------- A tabela a seguir identifica os códigos e textos associados aos itens stateCode e state do servidor. +-------------------------------------------------------------------------------------+ |Estado do link com o servidor SS2S | +==================+==================+===============================================+ |stateCode(Inteiro)|state(String) |Descrição | +------------------+------------------+-----------------------------------------------+ |0 |Idle |Link não estabelecido. | +------------------+------------------+-----------------------------------------------+ |2 |Error |Erro durante conexão. | +------------------+------------------+-----------------------------------------------+ |4 |WaitingAConnection|Aguardando conexão com SS2S. | +------------------+------------------+-----------------------------------------------+ |7 |Connected |Conexão estabelecida com sucesso. | +------------------+------------------+-----------------------------------------------+ |8 |Access denied |Usuário/senha inválidos ou versão incompatível | | | |ou categoria do servidor inválida. | +------------------+------------------+-----------------------------------------------+ DriversList ------------- Este item OPC localizado abaixo do nivel de endereçamento Servidor contém a lista (vetor de strings) com os nomes dos drivers presentes no SS2S. O tamanho deste vetor dependerá da quantidade de drivers presentes no projeto que o SS2S está executando. A figura a seguir apresenta o acesso do item driversList através do SOClient. O SS2S acessado contém 4 drivers de nomes: "Driver_1000", "Driver_2000", "Driver_3000" e "Driver_4000". .. figure:: _img/drivers_list.jpg :align: center Fig. Lista de drivers de um SS2S acessado pelo Itens locais associados ao Driver =================================== No nível **Driver** do padrão de endereçamento do SOS são publicados os seguintes itens: .. figure:: _img/sos_driver.jpg :align: center Fig. Itens locais publicados abaixo do Driver +-----------------------------------------------------------------------------------------------------+ |Itens locais do driver | +=========+=========================================================+=================================+ |Item OPC |Descrição |Default | +---------+---------------------------------------------------------+---------------------------------+ |state |Apresenta o texto que representa o estado de instalação |installed | | |do driver no SS2S. Os possíveis valores deste campo são | | | |strings que estão descritas na tabela de | | | |:ref:`estado do driver ` | | +---------+---------------------------------------------------------+---------------------------------+ |stateCode|Apresenta o código numérico que representa o estado de |5 | | |instalação do driver no SS2S. Os possíveis valores | | | |numéricos deste campo estão descritas na tabela | | | |de :ref:`estado do driver ` | | +---------+---------------------------------------------------------+---------------------------------+ |DEVn |Representa um equipamento acessado por um driver. O |criado sob demanda do cliente OPC| | |valor de **n** representa o endereço de comunicação do | | | |equipamento a ser acessado. Para cada equipamento | | | |registrado pelo cliente será criado um item deste tipo. | | +---------+---------------------------------------------------------+---------------------------------+ .. _`state,stateCode`: state,stateCode ----------------- A tabela a seguir identifica os códigos e textos associados aos itens stateCode e state do driver. +---------------------------------------------------------------------+ |Estado do driver | +==================+==============+===================================+ |stateCode(Inteiro)|state(String) |Descrição | +------------------+--------------+-----------------------------------+ |0 |Undefined |Condição não definida. | +------------------+--------------+-----------------------------------+ |1 |Not installed |Driver não instalado. | +------------------+--------------+-----------------------------------+ |2 |Installing |Driver em processo de instalação. | +------------------+--------------+-----------------------------------+ |3 |Fail |Falha na instalação do driver. | +------------------+--------------+-----------------------------------+ |4 |Authenticating|Driver em processo de autenticação.| +------------------+--------------+-----------------------------------+ |5 |Installed |Driver instalado com sucesso. | +------------------+--------------+-----------------------------------+ Itens locais associados ao Equipamento (Device) ================================================ No nível **Device** do padrão de endereçamento do SOS são publicados os seguintes itens: .. figure:: _img/sos_device.jpg :align: center Fig. Itens locais publicados abaixo do Device +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |Itens locais do equipamento (Device) | +==============================+==============================================================================================================+==================+=================+=====+ |Item OPC |Descrição |Tipo |Acesso |Obs. | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |State |Apresenta o texto que representa o estado de conexão com o equipamento. Os possíveis valores deste campo |Texto |Leitura | | | |são strings que estão descritas na tabela de :ref:`estado do equipamento ` | | | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |StateCode |Apresenta o código numérico que representa o estado de conexão com o equipamento. Os possíveis valores |Inteiro (16_Bits) |Leitura | | | |numéricos deste campo estão descritos na tabela de :ref:`estado do equipamento ` | | | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info |Código funcional de operação do equipamento. Pode ser: 0: parado com falha 1: parado ou operando com |Inteiro (16_Bits) |Leitura ||Z1| | | |falha. 2: operando sem falha | | | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.Firmware |Texto especificando o tipo de firmware e a versão corrente. (Ex: PLCGII - V 1.2.04) |Texto |Leitura | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.Firmware.typeCode |Código numérico associado ao tipo de firmware do equipamento conectado. |Inteiro (16_Bits) |Leitura | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.Firmware.versionCode |Número de versão e revisão do firmware do equipamento conectado. |Inteiro (16_Bits) |Leitura | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.FailCode |Código de indicação de condição de falha no equipamento conectado. Se igual a zero indicada que não foi |Inteiro (16_Bits) |Leitura ||Z2| | | |detectada nenhuma falha no equipamento. Se diferente de zero indica que existe algum tipo de falha no | | | | | |equipamento conectado. | | | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.FailCode.hardwareInit |Flag de indicação de falha no processo de inicialização do equipamento. False= sem falha, True = com falha. |Boleano |Leitura ||Z3| | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.FailCode.hardwareDetect |Flag de indicação de falha de hardware no equipamento. False: sem falha, True: com falha. |Boleano |Leitura ||Z3| | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.FailCode.hardwareOper |Flag de indicação de falha de operação do equipamento. False= sem falha, True = com falha. |Boleano |Leitura ||Z3| | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.FailCode.firmwareUnauth |Flag de indicação de bloqueio de operação por operação com firmware não autorizado. False: sem falha, |Boleano |Leitura ||Z3| | | |True: com falha. | | | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.FailCode.ioUnmatched |Flag de indicação de falha por incompatibilidade de módulos detectados no equipamento e definidos no programa |Boleano |Leitura ||Z3| | | |de aplicação. False= sem falha, True: com falha. | | | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.FailCode.invalidProgram |Flag de indicação de base do programa de aplicação inválida. False= sem falha, True = com falha. |Boleano |Leitura ||Z3| | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.FailCode.invalidForceBase|Flag de indicação de base de **force** do programa de aplicação inválida. False= sem falha, True: com falha. |Boleano |Leitura ||Z3| | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.FailCode.fileSystemError |Flag de indicação de falha no sistema de arquivo do equipamento. False= sem falha, True = com falha. |Boleano |Leitura ||Z3| | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.deviceAddress |Endereço de comunicação do equipamento conectado. |Inteiro (16_Bits) |Leitura | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.ppeConfig |Configuração do recurso de ponto a ponto estendido do equipamento conectado. Apresentado no formato "n:m" |Texto |Leitura | | | |onde n e m representa a faixa de endereços dos equipamentos mapeados para acesso via ppe. Se "0:0" indica | | | | | |que o recursos de ppe esta desativado. | | | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.deviceType |Texto com o modelo do equipamento conectado. (Ex: ZAP91X). |Texto |Leitura | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.deviceTypeCode |Código numérico de identificação do modelo de equipamento conectado. |Inteiro (16_Bits) |Leitura | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.serialNumber |Texto com o número de série do equipamento conetado. |Texto |Leitura | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.operStateCode |Código numérico do estado de operação do equipamento. Pode ser: -1: Indefinido 0: controlador sem |Inteiro (16_Bits) |Leitura ||Z2| | | |programa 1: programa parado por comando 2: programa parado por falha 3: programa parado (break point) | | | | | |4: programa rodando. | | | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.bateryStateCode |Código numérico do estado da bateria interna do equipamento. Pode ser: |Inteiro (16_Bits) |Leitura ||Z2| | | |0 bateria não detectada, 1: Bateria fraca, 2: bateria OK. | | | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.dateTime ||N| Texto com a data e hora do relógio do PLC no formato DD/MM/AAAA HH:MM:SS |Data-Hora |Leitura/Escrita ||Z4| | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Info.weekDayCode |Código numérico do dia da semana. 0 = domingo ... 6 = sábado |Inteiro (16_Bits) |Leitura ||Z5| | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Program |Especifica o nome do programa de aplicação carregado no controlador conectado. |Texto |Leitura ||Z5| | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Program.crc |CRC do programa ladder carregado. Zero se não existe programa carregado. |Inteiro (16_Bits) |Leitura ||Z6| | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Program.id |Identificador do programa ladder carregado. Util para consistir o programa |Inteiro (16_Bits) |Leitura ||Z3| | | |carregado. Zero se não existe programa carregado. | | | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ |Program.securityEnabled |Flag indicando se o programa carregado no controlador possui senha de acesso. Se zero, o programa corrente |Inteiro (16_Bits) |Leitura ||Z3| | | |foi carregado sem senha limitando o acesso não autorizado ao controlador. Se maior que 0, o programa | | | | | |carregado possui senha que habilita a execução de comandos no equipamento remoto. O valor numérico | | | | | |fornecido é um conjunto de flags onde cada bit controla o acesso a comandos do controlador. | | | | | |O significado de cada bit pode ser obtido na tabela | | | | | |:ref:`Flags de restrição de acesso ao controlador `. | | | | +------------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+-----+ .. rst-class:: tbobs ===== ============================================================================== |obs| Para que os itens associados ao equipamento sejam publicados na camada OPC é necessário que o equipamento esteja registrado no servidor de comunicação (SS2S). Este processo esta associado a criação do primeiro tag com o endereço do equipamento corrente. Portanto, para acesso as informações do equipameto, no mínimo uma variável associada ao mesmo deve ser criada. |Z1| informação não disponível para equipamentos GI (valor = 2) |Z2| informação não disponível para equipamentos GI (valor = -1) |Z3| informação não disponível para equipamentos GI (valor = 0) |Z4| informação disponível para equipamentos GI a partir da versão 1.3.09 |Z5| informação não disponível para equipamentos GI (valor = vazio) |Z6| informação não disponível para equipamentos GI e GII. Entretanto os equipamentos com firmware GII disponibilizam a data/hora de geração do código Ladder associado ao programa corrente. Sendo assim, para equipamentos GII este valor é somada (ano+mês+dia+hora+minuto+segundo) da data/hora de geração do programa que foi carregado no equipamento. ===== ============================================================================== .. rst-class:: tbobs ===== ======================================================================= |obs| **Relógio calendário do equipameto** Observe que o item Info.dateTime, permite ajustar o valor do relógio calendário do controlador diretamente do servidor OPC. Para tanto utilize o mesmo formato de dados definido para leitura ou seja DD/MM/AAAA HH:MM:SS. Esta funcionalidade esta disponível para equipamentos da plataforma GI (Ex: ZAP500, MCI02, MIX600 etc) apenas a partir da versão 1.3.09 do pacote SCPServerII. ===== ======================================================================= .. _`Descrição dos bits do campo Security`: Descrição dos bits do campo Security -------------------------------------- +----------------------------------------------------------+ |Flags de restrição de acesso ao controlador | +===+======================================================+ |Bit|Comando que requer senha do usuário | +---+------------------------------------------------------+ |0 |Reset do controlador remotamente | +---+------------------------------------------------------+ |1 |Carga do firmware ao da aplicação | +---+------------------------------------------------------+ |2 |Ativação do modo loader | +---+------------------------------------------------------+ |3 |Alteração de parâmetros de comunicação | +---+------------------------------------------------------+ |4 |Escrita na base de dados da aplicação | +---+------------------------------------------------------+ |5 |Leitura na base de dados da aplicação | +---+------------------------------------------------------+ |6 |Configuração dos módulos de hardware do equipamento | +---+------------------------------------------------------+ |7 |Sem comando definido | +---+------------------------------------------------------+ |8 |Comando para eliminar o programa de aplicação | +---+------------------------------------------------------+ |9 |Carga de um novo programa de aplicação | +---+------------------------------------------------------+ |10 |Interrompe a execução do programa de aplicação (Pausa)| +---+------------------------------------------------------+ |11 |Sem comando definido | +---+------------------------------------------------------+ |12 |Sem comando definido | +---+------------------------------------------------------+ |13 |Sem comando definido | +---+------------------------------------------------------+ |14 |Sem comando definido | +---+------------------------------------------------------+ |15 |Sem comando definido | +---+------------------------------------------------------+ .. _`State, StateCode`: State, StateCode ------------------ +-----------------------------------------------------------------------------------------+ |Estado de conexão com o equipamento | +==================+==================+===================================================+ |stateCode(Inteiro)|state(String) |Descrição | +------------------+------------------+---------------------------------------------------+ |0 |Unregistered |Não registrado. | +------------------+------------------+---------------------------------------------------+ |1 |Connection closed |Conexão com o equipamento fechada. | +------------------+------------------+---------------------------------------------------+ |2 |Connecting |Conexão em andamento. | +------------------+------------------+---------------------------------------------------+ |3 |Connection active |Conexão com o equipamento estabelecida com sucesso.| +------------------+------------------+---------------------------------------------------+ |4 |Connection in fail|Falha na conexão com o equipamento. | +------------------+------------------+---------------------------------------------------+ Operação com bridge de comunicação ------------------------------------ .. rst-class:: tbobs ===== =============================================================================== |obs| Quando um equipamento estiver sendo acessado através de uma bridge SCP-MODBUS (via uma conexão PPE) as informações de gerência apresentadas acima não serão disponibilizadas pois as bases do PLC não estão disponíveis para acesso via MODBUS. Neste caso, apenas os itens **State** e **StateCode** estarão disponíveis para acesso pelos clientes conectados. ===== =============================================================================== .. _`configuracao-do-sos`: Configuração do SOS ********************* A configuração do SOS é realizada através do menu apresentado quando o ícone presente no tray icon é selecionado com o botão direito do mouse. Nesta condição, é apresentado o menu presente na figura a seguir: .. figure:: _img/popup_sos.jpg :align: center Fig. Menu de configuração do SOS Através deste menu estão disponíveis as seguintes opções de configuração. Associa servidor de comunicação local *************************************** Quando selecionada esta opção é associado um servidor de comunicação **SS2S** para ser ativado automaticamente quando o SOS for ativado. Se houver uma única instalação do ScpServerII na máquina local, o **SS2S** associado a esta instalação é automaticamente selecionado e associado ao SOS. Se houverem múltiplas instalações do ScpServerII na máquina local, ao ser selecionada esta opção será apresentada uma lista com as versões instaladas e as instalações para cada versão, permitindo ao usuário selecionar uma delas para associá_la ao SOS. Ao selecionar um servidor para o SOS a opção do menu **Associa servidor de comunicação local** passa a possuir uma marca à esquerda indicando que existe um servidor local para ativação automática associado ao SOS. .. rst-class:: tbobs ===== ==================================================================================== |obs| Este comando quando ativado, não abre o servidor selecionado automaticamente. Esta funcionalidade é executada sempre que o servidor for aberto após a execução deste comando. Quando o SOS é instalado, o SS2S da sua instalação é associado ao mesmo para ativação automática. ===== ==================================================================================== Remove ativação automática do servidor local *********************************************** Quando selecionada esta opção é removida da configuração do SOS o servidor **SS2S** para ser ativado automaticamente quando o SOS for ativado. Neste caso quando o SOS for novamente ativado, nenhum servidor de comunicação será aberto automaticamente, cabendo ao usuário do ambiente ativar o SS2S na máquina local se o mesmo for necessário para utilização pelo SOS. Ao selecionar opção, o menu **Remove ativação automática do servidor local** passa a possuir uma marca à esquerda indicando que não existe um servidor local para ativação automática associado ao SOS. .. note:: Este comando quando ativado, não fecha o servidor selecionado anteriormente. A partir da próxima ativação o SOS não mais ativa nenhum servidor de comunicação. Parâmetros de acesso aos servidores ************************************* A configuração de acesso aos servidores do SOS pode ser feita através da interface disponibilizada clicando com o botão direito do mouse sobre o trayIcon que é aberto ao executar a aplicação, e em seguida selecionando a opção "Abre Interface". Ao executar este comando, a seguinte tela será apresentada: .. figure:: _img/sos_config1.jpg :align: center Fig. Interface de configuração do SOS Nesta interface na aba apresentada que é a de "Lista de Servidores", é possível selecionar os servidores SS2S a serem acessados, visualizar parâmetros de atividade, computador ao qual o servidor ScpServerII está sendo acessado e porta de acesso do servidor. Além disso, é possível adicionar ou remover servidores a serem acessados. A figura a seguir apresentará a aba de configuração de acesso ao servidor ao qual se deseja conectar. Nesta aba pode-se configurar os parâmetros de acesso através do SOS. .. figure:: _img/sos_config2.jpg :align: center Fig. Configuração de acesso ao servidor .. rst-class:: tbobs ===== ============================================================================= |obs| **Aba de configuração de acesso ao servidor** Para configurar um servidor a ser acessado pelo SOS, deve-se ter o cuidado de selecionar o item desejado na tabela de "Servidores disponíveis" na aba de "Lista de Servidores" para então, a partir deste item, abrir a aba de configuração de acesso servidor. ===== ============================================================================= A tabela a seguir apresenta a descrição dos campos que podem ser configurados para acesso do SOS a um servidor SS2S através da aba apresentada na imagem "Configuração de acesso ao servidor". +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |Configuração de acesso ao servidor | +==========================+======================================================================================================================================================================================================================================================================================+==========+ |Propriedade |Descrição |Default | +--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+ |Nome do servidor |Define o nome do servidor a ser acessado. Este nome será usado pelo cliente OPC como o primeiro nível de acesso ao SOS |Server_N | +--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+ |Nome do computador |Define o nome do computador na rede (Host Name) ou IP ao qual o servidor estará em execução. No caso do IP local, o nome pode ser "localhost" ou o 127.0.0.1 que é o IP da máquina local. |localhost | +--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+ |Reabre servidor em (ms) |Define o tempo de espera para tentativa de reabertura do SS2S a qual esteja acessando caso este termine por alguma razão ou a conexão seja desligada. Se o SS2S estiver em outro computador, o SOS apenas tenta reconexão. Se a conexão for localhost, o SOS tenta reabertura do SS2S.|15000 | +--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+ |Conexão com servidor ativa|Checkbox que define se a conexão entre o SOS e o SS2S referentes ao servidor em questão será ou não habilitada. |Verdadeiro| +--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+ |Porta |Define a porta de acesso ao servidor a ser conectado. |2500 | +--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+ |Timeout de acesso (ms) |Define o tempo máximo de espera de resposta na tentativa de acesso ao servidor. |5000 | +--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+ |Usuário |define o nome do usuário a ser utilizado no processo de autenticação com o SS2S. |vazio | +--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+ |Senha |define o nome da senha a ser utilizada no processo de autenticação com o SS2S. |vazio | +--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+ Definição de itens para criação automática pelo SOS ***************************************************** Alguns clientes OPC não conseguem adicionar os itens na camada servidora OPC(SOS), se eles não existem. Nestes casos devem ser configurados todos os itens OPC que serão acessados pela aplicação cliente em um arquivo do tipo CSV. O arquivo de configuração pode ser encontrado na pasta **Projects** do SOS com o nome **default.csv**. Exemplo de caminho para o arquivo "default.csv" no Win 7: "C:\\Users\\Public\\Documents\\HI_tecnologia\\ScpServer_II\\1.3\\SRV_1\\SOS\\Projects". Cada linha do arquivo de configuração deve possuir cinco informações conforme padrão de endereçamento do SOS. Os campos possuem os seguintes dados: **Servidor**: Servidor de comunicação (SS2S) para o item configurado; **Driver**: Driver a ser utilizado pelo SS2S especificado; **End. Controlador**: Endereço do equipamento a ser acessado dentro do servidor e driver definidos nos campos anteriores; **Variável**: Endereço da variável a ser obtida ou alterada. **Tamanho**: Quantidade de variáveis a serem acessadas a partir do endereço especificado no campo "Variável". Desta forma, se o valor especificado for maior que 1, o item OPC a ser criado será considerado como um vetor. Para mais informações sobre o padrão de endereçamento do SOS, acesse o item :ref:`Acesso ao servidor OPC `. +------------------------------------------------------+ |Exemplos de dados de um arquivo default.csv | +========+===========+================+========+=======+ |Servidor|Driver |End. Controlador|Variavel|Tamanho| +--------+-----------+----------------+--------+-------+ |Server_1|Driver_1000|255 |M10 |17 | +--------+-----------+----------------+--------+-------+ |Server_1|Driver_1000|255 |D12 |1 | +--------+-----------+----------------+--------+-------+ |Server_1|Driver_1000|255 |R0 |1 | +--------+-----------+----------------+--------+-------+ |Server_1|Driver_1000|255 |D20 |10 | +--------+-----------+----------------+--------+-------+ Anexos ********* `Arquivo exemplo: default.csv <_anexos/default.csv>`_ .. _`Parâmetros de linha de comando SOS`: SOS - Parâmetros de linha de comando ****************************************** O SOS possui um conjunto de parâmetros que podem ser informados para a aplicação na sua ativação. Estes parâmetros são denominados "Parâmetros de linha de comando". Estes parâmetros podem ser passados para o SOS de 2 formas básicas como descrito a seguir. Ativação do SOS via prompt de comando ========================================== Para passar parâmetros para o SOS via prompt de comandos abra uma caixa de comando, digitando a palavra **cmd.exe** na caixa de diálogo apresentada no menu principal do windows. Uma vez ativado o prompt de comando, utilizando o comando **CD** vá para o diretório onde está localizado o aplicativo a ser executado. Uma vez no diretório do aplicativo ative o mesmo especificando o seu nome seguido dos parâmetros de linha de comando desejados conforme apresentado no exemplo a seguir: :: app.exe parm1 parm2 ... .. rst-class:: tbobs ===== =========================================================================== |obs| Dependendo do tipo de comando a ser executado será necessário que o prompt de comandos seja aberto com privilégio de administrador. Veja a seção `Registro do sos no sistema operacional`_ para mais informações. ===== =========================================================================== Ativação do SOS via link ============================= Para passar parâmetros para o SOS via link, crie um link do aplicativo no desktop utilizando o comando de "**copiar**" e "**colar como link**". Uma vez criado o link para o aplicativo, clique com o botão direito do mouse no menu apresentado e selecione a opção "**Propriedades**". Na aba **Atalho**, identifique o campo "**Destino**", acrescentando no final do mesmo os parâmetros desejados conforme ilustrado na figura a seguir. .. figure:: _img/cmd_parms_link_sos.jpg :align: center Fig. Definindo parâmetros de linha de comando em um link Feche o diálogo através do botão OK e em seguida ative a aplicação pelo link criado. As próximas sessões apresentam os parâmetros que podem ser utilizados com o SOS com sua respectiva funcionalidade. Múltiplos parâmetros podem ser especificados na linha de comando quando necessário. .. _`Registro do sos no sistema operacional`: Registro do SOS no sistema operacional [ -r ] ===================================================== Este parâmetro especifica para a aplicação criar uma entrada no registro do windows informando sua localização no computador. Esta chave é criada em "HKEY_LOCAL_MACHINE\\Software\\Company\\Application\\V.M\\" onde: =============================== ================================================================== Path parcial Descrição ------------------------------- ------------------------------------------------------------------ HKEY_LOCAL_MACHINE\\Software\\ Entrada de registro padrão do Windows. Company\\ Especifica o nome do desenvolvedor da aplicação. Application\\ Especifica o nome do pacote de software. V.M\\ Especifica a versão "V" e revisão maior "M" do pacote de software. =============================== ================================================================== Nesta chave é salvo o path completo do arquivo executável principal do pacote. Para executar este comando, abra um prompt de comando do windows. No caso do Windows Server 2003, 2008 e Windows 7, o prompt de comando deve ser aberto com privilégio de administrador conforme indicado na figura a seguir. .. figure:: _img/cmd_parms_prompt_sos.jpg :align: center Fig. Ativação do prompt como adminstrador Uma vez aberta a tela de comandos, vá para o diretório onde está instalado o arquivo SOS.exe e digite: :: SOS -r Após a execução deste comando o SOS é fechado. O resultado do processo de registro é salvo no arquivo de log de ScpServerII.log. Para verificar o resultado, após executar o comando abra o arquivo ScpServerII.log e vá para o final do arquivo onde deverá estar registrado o resultado do tratamento do comando. Remoção do registro do SOS do sistema operacional [ -u ] ********************************************************** Este parâmetro especifica para a aplicação remover a entrada no registro do windows que identifica a localização da aplicação no computador. Esta chave é criada em "HKEY_LOCAL_MACHINE\\Software\\Company\\Application\\V.M\\" através do parâmetro -r. Para executar este comando, abra um prompt de comando do windows. No caso do Windows Server 2003, 2008 e Windows 7, o prompt de comando deve ser aberto com privilégio de administrador conforme indicado na figura a seguir. .. figure:: _img/cmd_parms_prompt_sos.jpg :align: center Fig. Ativação do prompt como administrador Uma vez aberta a tela de comandos, vá para o diretório onde está instalado o arquivo SOS.exe e digite: :: SOS -u Após a execução deste comando o SOS é fechado. O resultado do processo de remoção do registro é salvo no arquivo de log de ScpServerII.log. Para verificar o resultado, após executar o comando abra o arquivo ScpServerII.log e vá para o final do arquivo onde deverá estar registrado o resultado do tratamento do comando. Especificação do servidor de comunicação da máquina local [ -s ] ***************************************************************** Quando existe mais de uma instalação do servidor de comunicação (SS2S) na máquina local, pode-se especificar qual deles será ativado automaticamente pelo SOS através do parâmetro -s na linha de comando. Especifique na linha de comando, após o parâmetro **-s**, a chave de registro da instalação do **SS2S** a ser utilizada para acessar e ativar o servidor. Por exemplo: :: SOS -s "Software\HI tecnologia\ScpServer II\1.3\SRV_1\SS2S" O comando acima especifica que o SOS irá utilizar como servidor de comunicação a instalação com nome **SRV_1** do pacote **SS2S** versão **1.3.xx**. Este comando força que este seja o servidor a ser utilizado nas chamadas subsequentes do SOS e, quando especificado, fecha o servidor após esta operação. Não deve ser esquecido de especificar o texto entre aspas para que seja considerado um único parâmetro.