.. include:: glb_defs.txt .. _`Servidor OPC multiprotocolo`: MOS - Servidor OPC MODBUS e SCP-HI ################################################## O MOS é uma aplicação que cria uma interface OPC servidora compatível com o protocolo OPC DA 2.0. Ele utiliza o MplServer (MCS) para acesso aos equipamentos remotos, permitindo desta forma, que clientes OPC tenham acesso aos equipamentos conectados ao MCS. Esta aplicação é capaz de acessar diversos MCS 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.MplServer.DA**. Este nome será utilizado por clientes OPCs para acesso ao servidor. Ícone de interface ********************* O MOS 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 MOS e identifica os módulos funcionais representados na figura. .. figure:: _img/sos_icone.jpg :width: 40% :align: center .. _`Acesso ao servidor OPC`: Acesso aos dados do 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 (MOS) da HI Tecnologia, conforme já mencionado anteriormente é **HITecnologia.MplServer.DA**. Quanto ao padrão de endereçamento do MOS, este é divulgado a partir de algumas informações presentes nos módulos MCS e MOS e é dividido em quatro níveis, possuindo o seguinte formato geral: **Servidor.Driver.Equipamento.Endereço** :: Exemplo: Server_1.Driver_1000.DEV255.MW0 .. rst-class:: tbobs ===== =================================================================================== |obs| As configurações do **Driver** e **Equipamento** são dependentes do MCS acessado e podem ser definidas com o uso do :ref:`Monitor remoto do MCS`. ===== =================================================================================== .. raw:: pdf PageBreak Nível 1 - Servidor ********************* Este nível é utilizado para identificar qual o servidor de comunicação (MCS) deve ser utilizado. Este servidor é identificado por um nome definido na etapa de :ref:`configuração do MOS ` conforme apresentado na figura a seguir: .. figure:: _img/mos_config.jpg :width: 65% :align: center 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 MCS especificado. Este driver deve ter sido previamente definido pelo usuário durante o processo de criação dos :ref:`Drivers` do projeto do MCS. O nome de cada driver pode ser definido livremente pelo usuário conforme indicado na figura a seguir: .. figure:: _img/mos_drivers.jpg :width: 40% :align: center O valor default do primeiro driver criado no MCS é **Driver_1000**. Note que o nome especificado deve considerar letras maiuscúlas e minúsculas de forma diferenciada. .. raw:: pdf PageBreak 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 MCS ` 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. Formato geral de endereçamento ================================ **LLL([MOD(X)])NNNNN(:DDDDD)** Onde: * **LLL**: Origem e tipo do dado (i/o, memoria, etc) * **MOD**: modificador dos dados a serem retornados * **X**: define uma função de ajuste aos dados retornados (depende to tipo de dado) * **NNNNN**: endereço inicial do dado * **DDDDD**: tamanho do vetor a ser retornado .. note:: Itens entre parenteses são opcionais .. rst-class:: tbst +------------------------------------------------------------+ |Padrão de endereçamento | +------------------+--------------------------------+--------+ |Endereço |MODBUS |SCP-HI | +==================+================================+========+ |IX |Input Status ou discrete input |N/A | +------------------+--------------------------------+--------+ |MX |Coil |N/A | +------------------+--------------------------------+--------+ |IWU e IWS |Input register |N/A | +------------------+--------------------------------+--------+ |MWU e MWS |Holding register |M | +------------------+--------------------------------+--------+ |MDU e MDS |N/A |L | +------------------+--------------------------------+--------+ |MDR |N/A |D | +------------------+--------------------------------+--------+ |MBX |N/A |R | +------------------+--------------------------------+--------+ .. raw:: pdf PageBreak .. rst-class:: tbst +---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |Modificador | +----------------+----------------------------+----------------------+------------------------------------------------------------------------------------------------+ |Formato |Descrição |Exemplo |MODBUS | +================+============================+======================+================================================================================================+ |DWORD (DW) |inteiro 32 bits |MW[DW]10:2 |4 holding registers a partir do endereço 10 retornando um vetor contendo dois inteiro de 32 bits| +----------------+----------------------------+----------------------+------------------------------------------------------------------------------------------------+ |LWORD (LW) |inteiro 64 bits |MW[LW]10:3 |12 holding registers a partir do endereço 10 retornando um vetor contendo 3 inteiros de 64 bits | +----------------+----------------------------+----------------------+------------------------------------------------------------------------------------------------+ |REAL (DR) |float 32 bits |MW[DR]10:2 |4 holding registers a partir do endereço 10 retornando um vetor contendo dois floats de 32 bits | +----------------+----------------------------+----------------------+------------------------------------------------------------------------------------------------+ |LREAL (LR) |float 64 bits |MW[LR]10:3 |12 holding registers a partir do endereço 10 retornando um vetor contendo 3 floats de 64 bits | +----------------+----------------------------+----------------------+------------------------------------------------------------------------------------------------+ |STRING (S) |string mapeada em caracteres|MW[S]12:24 |12 holding registers a partir do endereço 12 retornando uma string com 24 caracteres | +----------------+----------------------------+----------------------+------------------------------------------------------------------------------------------------+ Ordem dos bytes ---------------- Os modificadores da seção anterior podem ser utilizados junto a um número para definir a ordem com que os bytes de cada operando são considerados. A tabela a seguir define para cada tipo de modificador como a ordem dos bytes é modificada: .. rst-class:: tbst +--------------------------------------------------------------------------------------------------------------------------+ |Ordem dos bytes | +----------------+----------------------------+----------------------------------------------------------------------------+ |Modificador |Tamanho do dado |Descrição da transformação | +================+============================+============================================================================+ |DW1 |4 bytes |B1B2B3B4 passam a ser considerados como B4B3B2B1 | +----------------+----------------------------+----------------------------------------------------------------------------+ |DW2 |4 bytes |B1B2B3B4 passam a ser considerados como B3B4B1B2 | +----------------+----------------------------+----------------------------------------------------------------------------+ |DW3 |4 bytes |B1B2B3B4 passam a ser considerados como B2B1B4B3 | +----------------+----------------------------+----------------------------------------------------------------------------+ |DR1 |4 bytes |B1B2B3B4 passam a ser considerados como B4B3B2B1 | +----------------+----------------------------+----------------------------------------------------------------------------+ |DR2 |4 bytes |B1B2B3B4 passam a ser considerados como B3B4B1B2 | +----------------+----------------------------+----------------------------------------------------------------------------+ |DR3 |4 bytes |B1B2B3B4 passam a ser considerados como B2B1B4B3 | +----------------+----------------------------+----------------------------------------------------------------------------+ |LW1 |8 bytes |B1B2B3B4B5B6B7B8 passam a ser considerados como B8B7B6B5B4B3B2B1 | +----------------+----------------------------+----------------------------------------------------------------------------+ |LW2 |8 bytes |B1B2B3B4B5B6B7B8 passam a ser considerados como B2B1B4B3B6B5B8B7 | +----------------+----------------------------+----------------------------------------------------------------------------+ |LW3 |8 bytes |B1B2B3B4B5B6B7B8 passam a ser considerados como B7B8B5B6B3B4B1B2 | +----------------+----------------------------+----------------------------------------------------------------------------+ |LR1 |8 bytes |B1B2B3B4B5B6B7B8 passam a ser considerados como B8B7B6B5B4B3B2B1 | +----------------+----------------------------+----------------------------------------------------------------------------+ |LR2 |8 bytes |B1B2B3B4B5B6B7B8 passam a ser considerados como B2B1B4B3B6B5B8B7 | +----------------+----------------------------+----------------------------------------------------------------------------+ |LR3 |8 bytes |B1B2B3B4B5B6B7B8 passam a ser considerados como B7B8B5B6B3B4B1B2 | +----------------+----------------------------+----------------------------------------------------------------------------+ .. raw:: pdf PageBreak A tabela a seguir apresenta os possíveis tipos de dados e respectivos exemplos de utilização: .. rst-class:: tbst +------------------------------------------------------------------------------------------------------------------------------------+ |Endereço | +-------------------------------------+-------------------+----------------+---------------------------------------------------------+ |Tipo de dado |Endereçamento |Exemplo |Descrição do exemplo | +=====================================+===================+================+=========================================================+ |Bool |R |MBX23 |Contato de endereço 23. | +-------------------------------------+-------------------+----------------+---------------------------------------------------------+ |Small Int (inteiro 16 bits com sinal)|M |MW58 |Memória inteira de 16 bits de endereço 58. | +-------------------------------------+-------------------+----------------+---------------------------------------------------------+ |Long Int (inteiro 32 bits com sinal) |L |MD14 |Memória inteira de 32 bits de endereço 14. | +-------------------------------------+-------------------+----------------+---------------------------------------------------------+ |Float (real 32 bits) |D |MDR9 |Memória real de endereço 9. | +-------------------------------------+-------------------+----------------+---------------------------------------------------------+ |Vetor de Bool |R |MBX5: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 |MW13: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 |MD2: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 |MDR0: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 |MW[S]10: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. | +-------------------------------------+-------------------+----------------+---------------------------------------------------------+ .. rst-class:: tbst +------------------------------------------------------------------------------------+ |Exemplos de endereçamento de itens nos equipamentos | +-----------------------------------+------------------------------------------------+ |Endereço OPC |Descrição | +===================================+================================================+ |Server_1.Driver_1000.DEV3.MW0 |item associado à variável M0000 do equipamento | | |com endereço de comunicação igual a 3. | +-----------------------------------+------------------------------------------------+ |Server_1.Driver_1000.DEV15.MDR45:3 |item associado às variáveis D0045, D0046 e | | |D0047 do equipamento com endereço de comunicação| | |igual a 15. | +-----------------------------------+------------------------------------------------+ |MyServer.ABC.DEV32.MD10:2 |item associado às variáveis L0010 e L0011 do | | |equipamento com endereço de comunicação igual a | | |32. O link com o MCS possui o nome MyServer | | |e possui um driver com nome ABC. | +-----------------------------------+------------------------------------------------+ Itens locais publicados pela camada servidora OPC *************************************************** O MOS 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 MCS, verificando se o link entre o MOS e o MCS está funcional; * gerenciar o estado de conexão com o driver do MCS 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. .. raw:: pdf PageBreak Itens locais associados ao servidor (Server) ================================================ Quando o **MOS** é ativado, este utiliza as :ref:`informações de configuração ` para se conectar com os servidores **MCS**. Uma vez realizadas estas conexões, o **MOS** disponibiliza no seu *namespace* para cada servidor conectado, os itens apresentados na figura a seguir: .. figure:: _img/mos_ns_1.jpg :width: 65% :align: center Conforme indicado na figura anterior, o item que representa o servidor (**Server_1**) possui 4 subitens distintos apresentados na tabela a seguir: .. rst-class:: tbst +-----------------------------------------------------------------------------------+ |Itens locais do servidor | +-----------+---------------------------------------------------------+-------------+ |Item OPC |Descrição |Default | +===========+=========================================================+=============+ |state |Representa o estado do link entre o MOS e o MCS. |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 MOS e o MCS. 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 (MCS) conectado. |[Driver_1000]| +-----------+---------------------------------------------------------+-------------+ |DriverN |Representa um driver identificado no MCS para acesso ao |Driver_1000 | | |equipamento. Este item irá se repetir para cada driver | | | |definido no servidor conectado. Como o MCS 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. .. rst-class:: tbst +-------------------------------------------------------------------------------------+ |Estado do link com o servidor MCS | +------------------+------------------+-----------------------------------------------+ |stateCode(Inteiro)|state(String) |Descrição | +==================+==================+===============================================+ |0 |Idle |Link não estabelecido. | +------------------+------------------+-----------------------------------------------+ |2 |Error |Erro durante conexão. | +------------------+------------------+-----------------------------------------------+ |4 |WaitingAConnection|Aguardando conexão com o MCS. | +------------------+------------------+-----------------------------------------------+ |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. | +------------------+------------------+-----------------------------------------------+ .. raw:: pdf PageBreak 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 MCS. O tamanho deste vetor dependerá da quantidade de drivers presentes no projeto que o MCS está executando. A figura a seguir apresenta o acesso do item driversList através do SOClient. O MCS acessado contém 4 drivers de nomes: "Driver_1000", "Driver_2000", "Driver_3000" e "Driver_4000". .. figure:: _img/drivers_list.jpg :width: 70% :align: center Itens locais associados ao Driver =================================== No nível **Driver** do padrão de endereçamento do MOS são publicados os seguintes itens: .. figure:: _img/mos_driver.jpg :width: 60% :align: center .. rst-class:: tbst +-----------------------------------------------------------------------------------------------------+ |Itens locais do driver | +---------+---------------------------------------------------------+---------------------------------+ |Item OPC |Descrição |Default | +=========+=========================================================+=================================+ |state |Apresenta o texto que representa o estado de instalação |installed | | |do driver no MCS. 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 MCS. 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. | | +---------+---------------------------------------------------------+---------------------------------+ .. raw:: pdf PageBreak .. _`state,stateCode`: state,stateCode ----------------- A tabela a seguir identifica os códigos e textos associados aos itens stateCode e state do driver. .. rst-class:: tbst +---------------------------------------------------------------------+ |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 MOS são publicados os seguintes itens: .. figure:: _img/mos_device.jpg :width: 55% :align: center .. rst-class:: tbst +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |Itens locais do equipamento (Device) | +---------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+ |Item OPC |Descrição |Tipo |Acesso | +===========================+==============================================================================================================+==================+=================+ |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 ` | | | +---------------------------+--------------------------------------------------------------------------------------------------------------+------------------+-----------------+ .. raw:: pdf PageBreak .. _`State, StateCode`: State, StateCode ------------------ .. rst-class:: tbst +-----------------------------------------------------------------------------------------+ |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. | +------------------+------------------+---------------------------------------------------+ .. _`configuracao-do-mos`: Configuração do MOS ********************* A configuração do MOS é 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_mos.jpg :width: 35% :align: center 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 **MCS** para ser ativado automaticamente quando o MOS for ativado. Se houver uma única instalação do MplServer na máquina local, o **MCS** associado a esta instalação é automaticamente selecionado e associado ao MOS. Se houverem múltiplas instalações do MplServer 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 MOS. Ao selecionar um servidor para o MOS 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 MOS. .. 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 MOS é instalado, o MCS 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 MOS o servidor **MCS** para ser ativado automaticamente quando o MOS for ativado. Neste caso quando o MOS for novamente ativado, nenhum servidor de comunicação será aberto automaticamente, cabendo ao usuário do ambiente ativar o MCS na máquina local se o mesmo for necessário para utilização pelo MOS. Ao selecionar esta 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 MOS. .. note:: Este comando quando ativado, não fecha o servidor selecionado anteriormente. A partir da próxima ativação o MOS não mais ativa nenhum servidor de comunicação. Parâmetros de acesso aos servidores ************************************* A configuração de acesso aos servidores do MOS 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/mos_config1.jpg :width: 60% :align: center Nesta interface na aba apresentada que é a de "Lista de Servidores", é possível selecionar os servidores MCS a serem acessados, visualizar parâmetros de atividade, computador ao qual o servidor MplServer 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 MOS. .. figure:: _img/mos_config2.jpg :width: 60% :align: center .. rst-class:: tbobs ===== ============================================================================= |obs| **Aba de configuração de acesso ao servidor** Para configurar um servidor a ser acessado pelo MOS, 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. ===== ============================================================================= .. raw:: pdf PageBreak A tabela a seguir apresenta a descrição dos campos que podem ser configurados para acesso do MOS a um servidor MCS através da aba apresentada na imagem "Configuração de acesso ao servidor". .. rst-class:: tbst +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ |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 MOS |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, |localhost | | |o nome pode ser "localhost" ou o 127.0.0.1 que é o IP da máquina local. | | +--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-------------------+ |Reabre servidor em (ms) |Define o tempo de espera para tentativa de reabertura do MCS a qual esteja acessando caso este termine por alguma razão ou a conexão seja desligada.|15000 | | |Se o MCS estiver em outro computador, o MOS apenas tenta reconexão. Se a conexão for localhost, o MOS tenta reabertura do MCS. | | +--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-------------------+ |Conexão com servidor ativa|Checkbox que define se a conexão entre o MOS e o MCS referentes ao servidor em questão será ou não habilitada. |Verdadeiro | +--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-------------------+ |Porta |Define a porta de acesso ao servidor a ser conectado. |4500 | +--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-------------------+ |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 MCS. |vazio | +--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-------------------+ |Senha |Define o nome da senha a ser utilizada no processo de autenticação com o MCS. |vazio | +--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-------------------+ |Salva usuário e senha |Salva usuário e senha para uma próxima autenticação com o MCS. |Habilitado | +--------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-------------------+ Definição de itens para criação automática pelo MOS ***************************************************** Alguns clientes OPC não conseguem adicionar os itens na camada servidora OPC(MOS), 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 MOS com o nome **default.csv**. Exemplo de caminho para o arquivo "default.csv" no Win 7: "C:\\Users\\Public\\Documents\\HI_tecnologia\\MplServer\\1.0\\SRV_1\\MOS\\Projects". Cada linha do arquivo de configuração deve possuir cinco informações conforme padrão de endereçamento do MOS. Os campos possuem os seguintes dados: .. rst-class:: tbst ===================== ============================================================== Campo Descrição **Servidor** Servidor de comunicação MCS para o item configurado; **Driver** Driver a ser utilizado pelo MCS 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. ===================== ============================================================== .. raw:: pdf PageBreak Para mais informações sobre o padrão de endereçamento do MOS, acesse o item :ref:`Acesso ao servidor OPC `. .. rst-class:: tbst +------------------------------------------------------+ |Exemplos de dados de um arquivo default.csv | +--------+-----------+----------------+--------+-------+ |Servidor|Driver |End. Controlador|Variavel|Tamanho| +========+===========+================+========+=======+ |Server_1|Driver_1000|255 |MW10 |17 | +--------+-----------+----------------+--------+-------+ |Server_1|Driver_1000|255 |MDR12 |1 | +--------+-----------+----------------+--------+-------+ |Server_1|Driver_1000|255 |MBX0 |1 | +--------+-----------+----------------+--------+-------+ |Server_1|Driver_1000|255 |MDR20 |10 | +--------+-----------+----------------+--------+-------+ Anexos ============= `Arquivo exemplo: default.csv <_anexos/default.csv>`_ MOS - Parâmetros de linha de comando ***************************************** O MOS 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 MOS de 2 formas básicas como descrito a seguir. Ativação do MOS via prompt de comando =========================================== Para passar parâmetros para o MOS 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: :: mos.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 MOS no sistema operacional`_ para mais informações. ===== =========================================================================== .. raw:: pdf PageBreak Ativação do MOS via link =========================================== Para passar parâmetros para o MOS 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_mos.jpg :width: 35% :align: center 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 MOS com sua respectiva funcionalidade. Múltiplos parâmetros podem ser especificados na linha de comando quando necessário. .. _`Registro do MOS no sistema operacional`: Registro do MOS 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. =============================== ================================================================== .. raw:: pdf PageBreak 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 :width: 40% :align: center Uma vez aberta a tela de comandos, vá para o diretório onde está instalado o arquivo MOS.exe e digite: :: MOS -r Após a execução deste comando o MOS é fechado. O resultado do processo de registro é salvo no arquivo de log de MplServer.log. Para verificar o resultado, após executar o comando abra o arquivo MplServer.log e vá para o final do arquivo onde deverá estar registrado o resultado do tratamento do comando. Remoção do registro do MOS 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 :width: 40% :align: center Uma vez aberta a tela de comandos, vá para o diretório onde está instalado o arquivo MOS.exe e digite: :: MOS -u Após a execução deste comando o MOS é fechado. O resultado do processo de remoção do registro é salvo no arquivo de log de MOS.log. Para verificar o resultado, após executar o comando abra o arquivo MOS.log e vá para o final do arquivo onde deverá estar registrado o resultado do tratamento do comando. .. raw:: pdf PageBreak Especificação do servidor de comunicação da máquina local [ -s ] ==================================================================== Quando existe mais de uma instalação do servidor de comunicação (MCS) na máquina local, pode-se especificar qual deles será ativado automaticamente pelo MOS 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 **MCS** a ser utilizada para acessar e ativar o servidor. Por exemplo: :: MOS -s "Software\HI tecnologia\MplServer\1.0\SRV_1\MCS" O comando acima especifica que o MOS irá utilizar como servidor de comunicação a instalação com nome **SRV_1** do pacote **MCS** versão **1.0.xx**. Este comando força que este seja o servidor a ser utilizado nas chamadas subsequentes do MOS 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. .. raw:: pdf PageBreak