PascalSCADA 0.7.5 e outras informações.

Olá  a todos!

É com imenso prazer que anuncio a versão 0.7.5 do PascalSCADA. Ela é uma versão de correções de bugs em relação a versão anterior.

Vale informar que esta versão será a última que mantem o mecanismo de leitura por scan atual. Ou seja, a próxima versão terá alterações neste mecanismo.

Elá está disponível tanto no SourceForge quanto nos repositórios do OPM, conforme anunciado anteriormente.

Para fazer download da versão completa (com exemplos e documentação das classes) do SourceForge clique aqui.

Para atualizar sua cópia do PascalSCADA usando o OPM, siga as instruções que estão aqui.

Os requisitos mínimos para rodar rodar esta versão do PascalSCADA são FPC 3.0.4 e Lazarus 1.8.0.

Informações gerais…

Como informado no titulo do post, tenho que começar explicando o porque da demora em responder os posts da página. Faz pouco mais de um ano quando migrei a página dos servidores do Sourceforge para um servidor particular. Após finalizar a migração, fiz uma verificação minuciosa nas configurações, principalmente nas notificações via e-mail. Instalei um plugin para enviar e-mails via GMail, fiz testes de envio de mensagem e estava tudo OK.

Porem, descobri que uma pequena parte das mensagens da página eram de fato enviadas. A grande maioria das mensagens não era enviada. Notificações de moderação jamais sairam do servidor e a página ficou com aspecto de abandonada.

Então nesta semana, revisei as configurações a estou sendo notificado quando comentários são postados. Pedi para pessoas aleatórias se registrarem e enviar algum tipo de comentário, e fui notificado de todos.

Peço desculpas a todos que acessam e comentaram na página e que ficaram sem resposta.

22 comentários em “PascalSCADA 0.7.5 e outras informações.

  1. avra Responder

    You might want to check out Pasettimino, a very lite native Pascal ethernet communication library for S7 Siemens Simatic PLC. S7 200/300/400/400H/1200/1500 and LOGO 0BA7 PLC families are supported. It has some unique features like getting status of all PLC leds (even on redundant CPU pairs) and getting status of power supply memory backup batteries. These might be important info on some SCADA systems, so you might want to explore the code and integrate something like that in PascalSCADA.

    btw. I can’t wait to see your tag managment evolve. That would allow PascalSCADA use in big projects.

    • Fabio Luis Girardi Autor do postResponder

      Hi avra!

      I’m looking for that right now. I see it in a previous stage some time ago. But part of feature set of Pasettimino is already present on PascalSCADA, on ISOTCP driver, like:

      * communicate with these PLCs (tested by me):
      ## 200 (using CP 243)
      ## 300-ET-200S (I have plants with PascalSCADA and this PLC)
      ## 400 (I have plants with PascalSCADA and this PLC)
      ## 1200 (I have plants with PascalSCADA and this PLC, DB’s must have Optimized access disabled)
      ## 1500-ET200SP (I have plants with PascalSCADA and ET-200SP, DB’s must have Optimized access disabled)
      ## LOGO 0BA7

      * Missing features, that I’m studying Snap7 for include in the future, and now I have one more source to study:
      ## 1 – Connect in a PLC protected by password (read/write levels)
      ## 2 – Read battery status
      ## 3 – get/set PLC clock
      ## 4 – Read CPU state (run/stop, I don’t want to switch the CPU state)
      ## 5 – Read/write symbolic tags (Pasettimino can do that?)
      ## 6 – S7-400H (I never tested, I don’t have an opportunity.

      You have other features that I consider important, like reading CPU product number and firmware revision. Andreas Frieß send me an e-mail today, talking about your project. Since this moment, I’m thinking about how to fit these features on current PascalSCADA ISOTCP implementation.

      Ps: Your implementation is very clean and easy to read. Congratulations!!

  2. avra Responder

    As for missing features that you might include in the future:

    ## 1 – Connect in a PLC protected by password
    >> I did not bother with this yet. Maybe in the future.

    ## 2 – Read battery status
    >> Take a look at Pasettimino TS7ExtendedClient.GetPlcBatteryStatus

    ## 3 – get/set PLC clock
    >> TS7ExtendedClient.GetPlcTime and TS7ExtendedClient.SetPlcTime

    ## 4 – Read CPU state (run/stop, I don’t want to switch the CPU state)
    >> Snap7 and Settimino do not show correct running status on redundant S7-400H PLCs. I have fixed it in Pasettimino. More at https://sourceforge.net/p/snap7/discussion/bugfix/thread/ed0da378.

    ## 5 – Read/write symbolic tags (Pasettimino can do that?)
    >> Symbol table is not stored in old S7 PLCs so can not be retreived from PLC. I have not checked that for newer PLCs. Pasettimino can only read the list of all existing PLC blocks (without symbol names) with TS7ExtendedClient.GetPlcAllBlocksList.

    ## 6 – S7-400H (I never tested, I don’t have an opportunity.
    >> I have access to at least 20 (S7-414H and S7-417H). If you need to test something I will see what I can do.

    As for “You have other features that I consider important, like
    reading CPU product number and firmware revision”:
    >> Search the net for Siemens document “s7sfc_en-EN.pdf” and look into chapter 34 – System Status Lists (SSL). You will find there a complete SSL list. Any missing SSL would be easy to implement. Just use TS7ExtendedClient.ReadSZL method and analyze the received buffer according to documentation. You will find that many Pasettimino features are internally implemented using that ReadSZL method (SZL is german for SSL, so they are the same).

  3. wtechnologies Responder

    Hi,
    I would like to create a master in Modbus TCPIP.
    Is PascalScada the right library to do it?
    If yes, can I found a small example in Lazarus under Linux to do it.

    Best regards Malek

  4. Rafael Responder

    Bom dia, Fábio existe a possibilidade de você me passa um número de contato? Estou diante de uma situação complicada e aparentemente esse erro esta relacionado ao pascalscada, queria debater contigo tal situação para juntos encontramos uma solução

  5. Fabricio Rios Responder

    Bom dia Fábio.
    Estou começando a trabalhar em uma aplicação e gostaria de utilizar o PascalSCADA, teria algum manual ou coisa parecida para começar a estudar?
    Teria um contato para eventuais dúvidas?

  6. Mateusz Responder

    Fabio, I have a problem with PascalScada (ver. 0.75) and Lazarus (ver. 2.02 r60954). I have also Windows 10 x64 Enterprise.
    If I try build a project I have more than 100 warnings and notes.
    Most of them are: “duplicate file”. What can I do to avoid this warnings?

    Best regards,
    Mateusz

    • Fabio Luis Girardi Autor do postResponder

      Maybe, if some Delphi user does that. I’ll not. Delphi users gave no feedback to the project. I cut off the Delphi support at least 3 years ago, and only in this year, I got some feedback. This support will depend if some Delphi user has time to port PascalSCADA again to Delphi… Sorry.

    • Fabio Luis Girardi Autor do postResponder

      Hoje para o valor se atualizado no tag, tem que haver uma thread buscando o valor da imagem do driver de protocolo e jogando este valor em cada tag. No futuro, quero que cada tag receba um ponteiro que apontará para onde o seu valor do tag está na imagem de leitura do protocolo e com uma operação atomica (InterlockedExchange) a troca da imagem com o tag é feita. Porem ainda estou vendo como fazer isto, pois ainda preciso de algo verificando ciclicamente os tags, função que é feita hoje por uma thread…

  7. ge.vasiliou Responder

    Dear Fabio, i am trying to read zome modbus registers that are holding text. I have used cstring tags to read those text values from slave, text is read from register by pascalscada, but it comes to my screen reversed. For example, if register 101 on slave holds text “abab”, the text received / printed in pascal scada cstring tag is “baba”. Any way to natively read the text correctly (without text manipulation techniques) ?

    • Fabio Luis Girardi Autor do postResponder

      Are you using TPLCString Tag? I dont remember if has a SwapBytes property like TPLCTagNumber

      • ge.vasiliou Responder

        Hello, yes i do use TPLCString Tag, but this tag has not a “SwapBytes” property. If SwapBytes was available, may be this could be a solution to my case. Can this property be added ?

Deixe uma resposta para Mateusz Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *