MohanadOdema

Forum Replies Created

Viewing 15 posts - 1 through 15 (of 33 total)
  • Author
    Posts
  • in reply to: Chart Pro Y Axis scaling #4692
    Avatar
    MohanadOdema
    Participant

    Hi,

    I need fixed scaling as well,
    Is it still a possibility to discuss this custom development over mail as well?
    Mohanad.odema@gmail.com

    Thanks in advance

    in reply to: The averaging column in SCADA Admin input channels #2509
    Avatar
    MohanadOdema
    Participant

    So if I have understood correctly, this means that if I have an input channel and I want the average per hour to be displayed as in hourly data, I should do the following:

    1- change the channel type to hourly real
    2- mark averaging column

    Correct?

    in reply to: Chart Pro Plugin #2002
    Avatar
    MohanadOdema
    Participant

    Yeah that did the trick. The new Webstation was not configured to run on the same port number as the server.

    Thanks a lot.

    in reply to: Chart Pro Plugin #1990
    Avatar
    MohanadOdema
    Participant

    Yes and yes.

    in reply to: Chart Pro Plugin #1986
    Avatar
    MohanadOdema
    Participant

    I did exactly as you advised but still ‘Server is unavailable’ message appears when i try to log into the web application. I’am posting the SCADAWeb log below in addition to two images one for the defined interfaces in the configuration database and the other for the defined web application in the IIS management console.

    https://www.dropbox.com/s/p75c5y63iuw29i4/s1.png?dl=0
    https://www.dropbox.com/s/oxq7b4fjcl6etaf/s2.png?dl=0

    2017-03-03 19:10:39 <TOSHIBA-PC><DefaultAppPool><ACT> Connect to SCADA-Server “localhost”
    2017-03-03 19:10:44 <TOSHIBA-PC><DefaultAppPool><EXC> Error connecting to SCADA-Server: Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    2017-03-03 19:10:44 <TOSHIBA-PC><DefaultAppPool><ACT> Disconnect from SCADA-Server
    2017-03-03 19:10:44 <TOSHIBA-PC><DefaultAppPool><EXC> Error refreshing the tables of the configuration database:
    Scada.ScadaException: Unable to receive the configuration database modification time.
    at Scada.Client.DataCache.RefreshBaseTables()
    2017-03-03 19:10:44 <TOSHIBA-PC><DefaultAppPool><ERR> Unable to connect to SCADA-Server. Try again.
    2017-03-03 19:10:44 <TOSHIBA-PC><DefaultAppPool><ERR> Unsuccessful login attempt: admin – Server is unavailable. IP address: ::1

    in reply to: Chart Pro Plugin #1982
    Avatar
    MohanadOdema
    Participant

    I did like you suggested but for the installation to be successful it required me to clear the SCADA-Web directory. I chose ‘SCADA5’ for my virtual path name. However, whenever I try to login the SCADA application from my browser, ‘server not available’ message always appears.

    One more thing concerning specifying the views in the configuration database, the ‘interface’ tab in the SCADA-Admin has different columns from the one currently in the manual. I think that may not be inter operable with the new WebStation.

    https://www.dropbox.com/s/hfl63pddgpkafhq/a.png?dl=0
    https://www.dropbox.com/s/p57mabqs5wyyfhj/b.png?dl=0
    https://www.dropbox.com/s/dp4bhunccw0ux1n/c.png?dl=0
    https://www.dropbox.com/s/lhl2rp2gb0yo0fk/d.png?dl=0
    https://www.dropbox.com/s/9z2khnkm27qos50/e.png?dl=0

    Suggestions ?

    in reply to: Chart Pro Plugin #1975
    Avatar
    MohanadOdema
    Participant

    The thing is I already set up the system with this version of scada and have been retrieving readings for about a month. I don’t want to lose all this data I already collected. Plus I’m not sure if my designed scheme is compatible with the new version.

    So, if there is a way to keep all my readings while being easily mapped to the new configurations that would be OK. Else I think I should purchase an older compatible version.

    in reply to: WCF Service error #1937
    Avatar
    MohanadOdema
    Participant

    Hi,

    For the problem WCF service error: [HttpWebRequest_WebEXception_RemoteServer]
    Arguments: NotFound.
    This solution did not work for me yet I’m adding another solution that I figured out during the course of a day in case someone is facing the same issue.

    I’m using Windows 7 sp1 for the record. After I had installed the .NET framework v4.0, I ran the cmd program as an administrator and typed the following:
    cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\

    Next I typed: aspnet_regiis.exe -i

    These steps make sure that the IIS is actually working with version 4 of .NET.

    Regarding the “not found arguments”, I opened Scada\ScadaWeb\Web.config and found that the argument behavior name is nullified so I initialized it to “a” and I was finally able to load my scheme from the web browser.

    in reply to: Communication consistency error #1928
    Avatar
    MohanadOdema
    Participant

    No I developed it by myself using the pymodbus library on the RPi. Unfortunately there are no logs for the Modbus server as I only run a Python code prompting it to act as a server. I can post to you the main loop though where I suspect the problem of communication lies since the values are never actually nullified in the server’s registers.

    from pymodbus.server.async import StartTcpServer
    from pymodbus.device import ModbusDeviceIdentification
    from pymodbus.datastore import ModbusSequentialDataBlock
    from pymodbus.datastore import ModbusSlaveContext, ModbusServerContext
    from pymodbus.transaction import ModbusRtuFramer, ModbusAsciiFramer
    from twisted.internet.task import LoopingCall

    def main()
    global pi

    # main loop
    try:
    while True:
    store = ModbusSlaveContext(
    di = ModbusSequentialDataBlock(0, [0]*100),
    co = ModbusSequentialDataBlock(0, [0]*100),
    hr = ModbusSequentialDataBlock(0, [0]*100),
    ir = ModbusSequentialDataBlock(0, [0]*100))
    context = ModbusServerContext(slaves=store, single=True)

    identity = ModbusDeviceIdentification()
    identity.VendorName = ‘pymodbus’
    identity.ProductCode = ‘PM’
    identity.VendorUrl = ‘http://github.com/bashwork/pymodbus/’
    identity.ProductName = ‘pymodbus Server’
    identity.ModelName = ‘pymodbus Server’
    identity.MajorMinorRevision = ‘1.0’

    delaytime = AtlasI2C.long_timeout
    pi = Temp()
    pi.start()
    time = 5 # 5 seconds delaytime = 5 # 5 seconds delay
    writer = LoopingCall(read_context,a=(context,))
    loop = LoopingCall(f=updating_writer, a=(context,))
    loop.start(8) # initially delay by time
    writer.start(12)

    StartTcpServer(context, identity=identity, address=(“192.168.1.64”, 5022))

    except KeyboardInterrupt:
    p.stop()
    loop.stop()
    writer.stop()
    GPIO.cleanup()

    if __name__ == ‘__main__’:
    main()

    in reply to: Automatic Control Module integration #1553
    Avatar
    MohanadOdema
    Participant

    No I did not use any formulas for the output channels. They already change the values of the input channels whom on which I added the previous formula.

    I added two dynamic texts one for minutes and the other for hours. I added the action send command for each and Each one is mapped to the correspondent output and input channels.

    in reply to: Automatic Control Module integration #1546
    Avatar
    MohanadOdema
    Participant

    I fixed it. The problem was with this line hour = (int)CmdVal;

    The variable is never assigned the CmdVal.
    However, I displayed the output channel in a new input channel and added this formula to the input channel;

    Double assign ()
    {hour = (int)Cnl;
    return Cnl;}

    Thanks Mikhail for your help 🙂

    in reply to: Automatic Control Module integration #1542
    Avatar
    MohanadOdema
    Participant

    I created an input channel and wrote in its formula ‘hour’. I created another input channel to display the CmdVal of the output channel which uses SetHour().

    However, the variable hour is never assigned the CmdVal. It sticks with the initial value that I used to define it.

    Something is not allowing the variables to be overwritten with the CmdVal. SetHour() function is written exactly like you stated.

    https://www.dropbox.com/s/r153hva9vfi6o0m/F1.png?dl=0
    https://www.dropbox.com/s/l1kvpukurjmtdj8/F2.png?dl=0
    https://www.dropbox.com/s/5ln5pt0cksfjosd/F3.png?dl=0
    https://www.dropbox.com/s/gjn5f7huzh1s1wk/F4.png?dl=0

    in reply to: Automatic Control Module integration #1539
    Avatar
    MohanadOdema
    Participant

    I figured it out! Apparently the calculated channel data never appears correctly in the Scada Comm device data which I was using to check the data changes. It only appears in Scada Web. Thanks.

    I think for comparing with the parameters of the output channel. The formula for the input channel should be something like this.

    double CheckTotalTime(int hour, int minute)
    {
    DateTime nowDT = DateTime.Now;
    if ((nowDT.Hour == hour) && (nowDT.Minute == minute))
    return 1;
    else
    return 0;
    }

    Now how can I send the hour and minute parameters from the output channel to my flag channel ?

    in reply to: Automatic Control Module integration #1537
    Avatar
    MohanadOdema
    Participant

    Even after I changed the channel type to calculated real, the channel value never becomes 1. I’ve tried a lot of approaches for the code and different types for the return variable and still nothing happened.

    I even tried to use the existing function HourBeg() to see if it would return 1 at the beginning of an hour and it didn’t. I don’t know why none of the functions returns 1.

    in reply to: Automatic Control Module integration #1529
    Avatar
    MohanadOdema
    Participant

    That flag channel does not rise to one after several attempts from the code you gave me and even after changing the code and time multiple times.
    double CheckTime()
    {
    DateTime nowDT = DateTime.Now;
    if (nowDT.Hour==15 && nowDT.Minute==30)
    {return 1;}
    else
    {return 0;}
    }

    https://www.dropbox.com/s/su5wakulwacswzs/T1.png?dl=0

    I dont know where the problem is and I still don’t know how I’m going to link the output channel to set the hour and minute values to those in the input channel.

Viewing 15 posts - 1 through 15 (of 33 total)