Search the Community

Showing results for tags 'citect'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 45 results

  1. Citect Scada Modent Bit Read

    Hi team; I am struggling with a Citect SCADA read of some data. The system is using the "Modnet3" driver over TCP/IP to talk with a system (Modnet 3 as its TCP/IP with first register at 0 and 0 to 15 bits). I am reading the modbus data into variables which is working fine for the analogue values all defined as real in citect. The Issue I have is that the driver help says I can direct reference a bit in a word, in my case address 45052.1 Holding register 45052 and Bit 1. If I read this as a UINT I get a value of 147 corresponding to bits 1,2,5 and 8. Citect generates no errors for the tag setup where I define 45052.0 through 45052.15 but all remain as zero in tag lists.  Any help would be fantastic Kindest Regards Howard
  2. Hi friends, The scene is like this... I have some 200 energy meters whose readings are continuously logged at 15-min intervals into a logging table. The meter does not have any other value logged. Let's consider these readings as analog tags. However these tag values are continuously increasing to ever larger numbers. Thus we have a problem for display on trends. Customer now requires that the Citect shows usage trends for any meter for a specified period of the past. That is to say, the meter that he wishes to observe is selected - along with a period typically between 2 dates (perhaps also with a sampling period) - and the trend must appear. So in other words, given a single trend object, how do you make values appear for any selected tag on this trend. Perhaps this can be overcome by some genie/super-genie mechanism. My approach to this is...For the selected meter, I use SQL to query the 15 minute logged values (also taking into account the required sampling period) taking the reading on starting date as initial. All values thereafter are subtracted -within the SQL query- and the result of this query is kept in a 2 dimensional array(x for time, Y for value) or a new database table so that the trend displays values starting with zero. This much I can do with Cicode. After this, I need a method to display the values so obtained in a trend object. Essentially this is the same as feeding a trend object with a set of X & Y values that I have in the form of an array or in a database table. I shall greatly appreciate any help to meet the above objective. Thanks for looking in. With best wishes.
  3. Hello, I need to enter double confirmation on some buttons but I can't figure out how to configure it. Has anyone ever configured double confirmation on button? (citect scada) Thank you
  4. Hello everyone! I would like to connect a Micrologix 1100 with Citect 7.5 via ABMLXEIP (updated to latest version). I tried everything and it is still not working. The Citect and the PLC are on the same subnet and the ping works fine. All the configuration is done as the manual says (I attach the pictures). I have one NIC card and is connected to the PLC. The role is setted to “Server and Control Client”. The kernel has this error: [ERROR] [CORE] [0x07fc] [IOServer] [(GLOBAL)] [ErrorLog()][errlog.cpp] [266 ] Error: Channel offline, cannot talk CINIT 0015 PORT1_BOARD1 IODev_1100 Error_in_CMD-2 16 Generic 000021 Driver 00000020 (0x00000014) Any help would be much appreciated! Thanks, Gustavo.
  5. Hi every one. I have strange problem with Modbus communication in Citect 2018. I am communicating to the site switches through Modbus TCP protocol using MODNET driver and reading its sates. I am reading data from Input registers (registers addresses starts from 3x). In default, MODNET driver initializes communication trying conecting to holding register 40001 so I changed initialization in citect.ini to address 30001 because driver didn't want to establish connection because switches don't support holding registers. Now, connection to switches is working but only when page is open where I showing data from them. When I change the page, Citect loses communication and inform this showing alarm on HW alarm page. When I again open page where I show read data, communication back again. Where could be a problem? I will mention that I have more different Modbus TCP devices in project configured and with them don't have such problem. The only difference is that I am reading from holding registers and initialize parameter in citect.ini is not defined for them as for switches.
  6. Hello, I need to replace an obsolete twido PLC to Modicon TM2221ME32TK and in the process would like to get the variables back into Citect SACDA V7.2 I have been reading up on REad_var and write_var but am seeking clarification on how to get the existing %MW, digital inputs %I0.0 etc and outputs  %Q0.0 mapped into modbus registers so SCADA can read them.  I intend to use modbus TCP/IP communcations with the ethernet/ip adaptor.  Do i need to use read and write_var to map into the addresses? Please find attached existing PLC code.   PLC.twd
  7. Vijeo Citect #com error

     I am facing a problem in Citect.After running the Citect project. Network connectivity, communication with SCADA and RTU are the same. kindly help me to resolve his error.
  8. Hello, I am new to Scada Programming. I am using Citect scada V7.50. I have completed whole project, but I am unable to generate Excel report for Alarms generated during run time. Please help me for this issue. Thanks...
  9. Hi All, Have recently embarked on a project that has required me to change over to GX Works 3 in order to link an IQ-R120PCPU to a Citect 2018 SCADA package . In days gone by under IEC Developer and GX Works 2 it was quite easy to establish communications between the programming package running in simulation mode and a running Citect system using the MXCOMP driver via MX Components to perform offline testing. Can't seem to find a way to get it to work under GX Works 3 though, has anyone tried a similar setup Simulated logic in GX Works 3 is running fine and can modify the IO from inside MX Components "PLC Monitor Utility" program so there is no issues there, just cant get Citect to communicate. MX Component comm's has also been proven reading/writing variable to an excel sheet with GX Works 3 in simulation mode also. Attached are the files for getting GX Works 2 up and communicating to Citect 2018 via the same method i am trying to get working in GX Works 3 in case anyone ever needs to use that method. Any help would be appreciated.     GXWORKS 2 & CITECT
  10. Check serial connection to Omron PLC

    Hello, I am building an application in CitectSCADA and I want to communicate with an Omron Sysmac CS1G. The connection between the plc and the Citect computer is through an ethernet to serial adapter (the computer doesn't have com ports on board). I'm having some difficulty establishing the communication and I want to make sure that I can actually reach the plc. Is there a way to check that the computer can reach the plc over the serial connection without using CX programmer? Maybe using Hyper Terminal, Putty or something similar. Thank you, Liron
  11. I am having a problem getting citect to write to my sql database.  Whilst it will write I am restricted by the length of a single cicode command. I think its 255 characters. For my problem I am trying to write 48 tags to the database in one write command to obtain 1 time stamp. Is it possible to write multiple times to the same tables row ? Currently when I write a new row is created at the given timestamp. the cicode is attached. A solution would be to do 4 writes of 12 tags at a time but all would need to go in the same MSSQL table row. I'm ok using the data instead of time and date as this write only happens once each day Any help would be awesome..   *********************************************************************************************************************************** /* **    FILE:        SpurLoad.CI ** * Load Tags from Citect in TO temp array */ STRING tagname[24]="M340_PwrCtrl_SLD0000","M340_PwrCtrl_SLD0030","M340_PwrCtrl_SLD0100","M340_PwrCtrl_SLD0130","M340_PwrCtrl_SLD0200","M340_PwrCtrl_SLD0230","M340_PwrCtrl_SLD0300","M340_PwrCtrl_SLD0330","M340_PwrCtrl_SLD0400","M340_PwrCtrl_SLD0430","M340_PwrCtrl_SLD0500","M340_PwrCtrl_SLD0530","M340_PwrCtrl_SLD0600","M340_PwrCtrl_SLD0630","M340_PwrCtrl_SLD0700","M340_PwrCtrl_SLD0730","M340_PwrCtrl_SLD0800","M340_PwrCtrl_SLD0830","M340_PwrCtrl_SLD0900","M340_PwrCtrl_SLD0930","M340_PwrCtrl_SLD1000","M340_PwrCtrl_SLD1030","M340_PwrCtrl_SLD1100"; /* add array TO hold values */ STRING tagval[24]; INT hSQL; FUNCTION SQL_INSERT_lds() /* Loop FOR number of tags (13 lots of 30 min) TO be read adding to array Variables */ INT i;     FOR i = 0 TO 21 DO              tagval = TagRead(tagname);              END      /* Open ODBC connection TO CitectDB configured in ODBC Manager with DSN_SQL */          hSQL = SQLConnect("DSN=DSN_SQL"); /* IF connection IS OK, insert in TO table "lds" the values */ IF hSQL <> -1 THEN     SQLExec(hSQL, "INSERT INTO lds (dateandtime,S0000,S0030,S0100,S0130,S0200,S0230,S0300,S0330,S0400,S0430,S0500,S0530,S0600,S0630,S0700,S0730,S0800,S0830,S0900,S0930,S1000,S1030) VALUES (SYSDATETIME(),'"+tagval[0]+"','"+tagval[1]+"','"+tagval[2]+"','"+tagval[3]+"','"+tagval[4]+"','"+tagval[5]+"','"+tagval[6]+"','"+tagval[7]+"','"+tagval[8]+"','"+tagval[9]+"','"+tagval[10]+"','"+tagval [11]+"','"+tagval[12]+"','"+tagval[13]+"','"+tagval[14]+"','"+tagval[15]+"','"+tagval[16]+"','"+tagval[17]+"','"+tagval[18]+"','"+tagval[19]+"','"+tagval[20]+"','"+tagval[21]+"')");     SQLEnd(hSQL);     SleepMS(100); SQLDisconnect(hSQL); ELSE     Message("Error Message","SQL TRADING DAY DATABASE WRITE FAIL",48); END END
  12. I am trying to write some citect variables back to the PLC. I have made a startup cicode script which is suppose to copy one variable to another which I found on the web. I am not sure if just using tag = tag is OK in citect 2018. Any help would be fantastic.   Cicode below: *********************** FUNCTION StartUpFunction()     INT hMyTask;     // Start a new task that runs all the time and transfers values using writetag     hMyTask = TaskNew("fnDoThis","",0); END FUNCTION fnDoThis;     //Never Stop this Loop     WHILE 1 DO         //Update the first Tag         TagWrite ("M340PLC_R02kW",Sub02Substation2PowerkWtot)         M340PLC_R03kW = Sub03Substation3PowerkWtot         M340PLC_R04kW = Sub04Substation4PowerkWtot         M340PLC_R05kW = TerminalSubstation_5InstantaneousPowerkWtot         M340PLC_R06kW = TerminalSubstation_6PowerkWtot         M340PLC_R07kW = Sub07Substation7PowerkWtot         M340PLC_R08kW = Sub08Substation8PowerkWtot         M340PLC_R09kW = Sub09Substation9PowerkWtot         M340PLC_R10kW = M340PLC_G1_GEN_FREQ_PV         M340PLC_R11kW = Sub11Substation11PowerkWtot         M340PLC_R12kW = Sub12Substation12PowerkWtot         M340PLC_R13kW = Sub13Substation13PowerkWtot         M340PLC_R14kW = Sub14Substation14PowerkWtot         M340PLC_R15kW = Sub15Substation15PowerkWtot         M340PLC_R16kW = Sub16Substation_16PowerkWtot         M340PLC_R17kW = TerminalSubstation_17PowerkWtot         M340PLC_R18kW = Sub18Substation18PowerkWtot         M340PLC_R19kW = Sub19Substation19PowerkWtot         M340PLC_R20kW = M340PLC_G1_GEN_FREQ_PV                 M340PLC_R21kW = Sub21Substation21PowerkWtot         M340PLC_R22kW = Sub22Substation_22PowerkWtot         M340PLC_R23kW = Sub23Substation_23PowerkWtot         M340PLC_R24kW = Sub24Substation_24PowerkWtot         M340PLC_R25kW = Sub25Substation25PowerkWtot         M340PLC_R26kW = Sub26Substation26PowerkWtot         M340PLC_R27kW = Sub27Substation27PowerkWtot         M340PLC_R28kW = Sub28Substation28PowerkWtot         M340PLC_R29kW = Sub29Substation29PowerkWtot         M340PLC_R30kW = M340PLC_G1_GEN_FREQ_PV         M340PLC_R31kW = M340PLC_G1_GEN_FREQ_PV         M340PLC_R32kW = PV2_SSB1PowerMeterPowerkWtot         M340PLC_R33kW = PV2_SSB2PowerMeterPowerkWtot         M340PLC_R34kW = M340PLC_G1_GEN_FREQ_PV         M340PLC_R35kW = M340PLC_G1_GEN_FREQ_PV         M340PLC_R36kW = M340PLC_G1_GEN_FREQ_PV         M340PLC_PQM3_WATTS_PV = HV_MetersBunnings_Intake_StnPowerkWtot         M340PLC_SOL01_SSB1_KW = SolarSSB1PowerMeterPowerkWtot         M340PLC_SOL01_SSB2_KW = SolarSSB2PowerMeterPowerkWtot         M340PLC_SOL01_SSB3_KW = SolarSSB3PowerMeterPowerkWtot         M340PLC_SOL01_SSB4_KW = SolarSSB4PowerMeterPowerkWtot         //Go to sleep for 1 second so as to not overload CPU         Sleep(1)     //Go back to start of Loop     END //End of Function END  
  13. Vijeo Citect - write to tag - error

    Hi everyone.  In Vijeo Citect SCADA I created some tags and I try to write to a bit device of MELSEQ Q PLC. But I get this error : Cicode General software error. Note: I can read from PLC.
  14. hi guys.  I am getting a server problem while communicating pc & scada . is there any solution to rectify it? or problem is in license? thanks in advance
  15. Hi, I have been helping a client overseas to upgrade and install some CPE330 PLCs configured as CRU320s to replace their faulty CRU320s. They had been previous controlling primarily from the Secondary (PLC B) for the last 6 years or so until PLC B finally failed due to a power surge. Having configured and downloading the previously working project to the PLCs in their respective hardware configuration, the system refuses to allow PLC A to control via the Citect SCADA, despite showing as Active and Ready on both Citect and the RMX Modules, although no outputs are read through Citect when PLC B is switched off at all. I found this forum from searching a previous post about drivers and if 90-30 and Rx3i required any changes (their previous setup before being Rx3i was 90-30), but as you confirmed in that thread, that the driver should be fine, unless you know of any issues with it working alongside newer PLCs configured as older ones? I should note we have discovered that the firmware revisions on each PLC is different and will be getting them to upgrade the later one to coincide. Each PLC has been tested in either HWC and both operate when configured as PLC B and neither operate fully as PLC A. We've had a GE technician check over the project and extracted text files from the PLCs and has confirmed the code and config looks correct. We're running out of ideas and out next step is to try and borrow 2 PLC racks and try to run them all first hand to see if PLC A runs on the SCADA in our office to try and rule out the software altogether! Any help you can provide would be much appreciated, Gene
  16. S7-300 Citect S7NT

    Hello. I'm trying to comunicate to Siemens S7-300 using Citect S7NT driver. I haven't done this so far so I'm asking you for help. What software do I need to successfully comunicate with S7? How do I set S7NT CITECT driver (Board, port, device,...)? Thanks. Best regards.
  17. Hello. I'm trying to connect to Microsoft SQL Server (2008 EXPRESS), but the connection is not working. I have done this in Citect SCADA 2018 without any problems using connection string: hSQL = SQLConnect("SCADA Data Provider=SQLClient.....) How can I connect to MS SQL Server using Citect 6.1? Thanks. Best regards.
  18. Dear Everyone can help     i have a batching system of about 12 materials and i need to generate a report for all batches in the day in runtime, i tried using SQL with Cicode but sometimes i can't find some material's data or to be Zeros. did any one here know a way to do that?? vijeo citect 7.4 thank you
  19. Citect...text string to sql

    Hi all, Needing an assist. We been trying to send a local var alphanumeric string to an Access DB using the SQL. We can successfully send integer/real values to the DB when they are entered via the var=FormNumPad() popup. I use SQLSet, SQLAppend, and SQLExec. Since we cannot generate text using FormNumPad(), we use the var=Input() command. The local var seems to hold the value entered on the screen, but a plc address writes the value for a moment then wipes it out. Then when we use the same SQL commands for the string var, the system immediately starts throwing errors. My guess is because the value is null. Any ideas? Is there a proper way to generate a keypad or textbox on screen? We are using v. 2016 on a Win10 box. Thanks in advance.
  20. Hello All,Does anybody know the correct syntax for the following:-I have a genie with variable A getting passed inI want to use this as a prefix for a variable address to send to a function.function ( %A% + _variable)(_variable being the rest of the address)So if genie variable A was 05 the tag value sent to the function would be 05_variable.Also, I would like to off set the A variable by 4Sofunction ( %A% - 4 + _variable)so would actually send value from 01_variable if the genie A was 5.Hope that makes sense, any help would be greatly appreciated as I've being trying various different ways and cant get it to work.Thanks,Tom
  21. Who Have Someone connected Citect with Omron CJ2M CPU32 ? Can i use it? Device communications wizard -> CJ Seres PLCs -> Ethernet    or need to Finsgateway software.    [Setting] 1. Boards TCPIP / 0(Address)  2. Port -I192.168.100.10 -P9600 -U (*PLC: , PC: 3. I/O Device 0/1/1/      /   OMFINS3    [MANUAL]  ----> Fallow the manual ONLY CS1, CV Need to setting  w/n/u/V  or w/n/u/S CJ2M do not need to this setting ?       I/O Devices Form Complete the I/O Devices form as instructed, with the following specific information. I/O Device Address The station address for an Omron CV Series PC is specified as follows : w/n/u/V for CV mode or w/n/u/S for CS1 mode where w is the FINS network address (1-127) n is the FINS node number (1-126) u is the FINS unit address (0) There are no defaults for w, n, or u, but if you do not specify a mode (with a V or S), it will default to CV mode. The FINS node number should be the same as the IP address node number. The FINS network number should be the same for all ETNs on the Ethernet segment. There is no relationship between FINS network numbers and IP network numbers.   Thank you..
  22. Hi every body. I want to get and set Time Picker value in process analyst in citect scada using cicode. Also  I tried to find an event or function when time picker value is changed , is called but find nothing. May you help me please?
  23. Hello. Recently I created two projects which I later connected with INCLUDE property. Let's say we have Project_1 and Project_2. In Project_1 I include Project_2. Everything works except Trend Groups. The only trend group which is working is the one in Project_1. I know I can copy Trend Group definition to Project_1 but then these two projects are not independent anymore. Did someone come to some kind of solution? Thanks
  24. Our site currently runs Citect 7.4 SP2. We have a redundant server set up, with about 5 - 6 Clients and growing to 8 clients this year.  I'm new to the industry, been in it for about 3 years but I'm getting the feeling Citect may not be as good of a solution for us as something like Intouch looks to be. We are a Batch Process, Food Manufacturing Site. Citect came about years ago by a local sparky installing it as being used as a stand alone, small, simple, <500 point, HMI and Alarm viewer for a piece of original plant which has now grown to multiple plants (Same site different process areas) and 5000 points, which will need upgrading soon. I haven't used InTouch myself, but most other integrator's I come across are always like "Oh, why do you use Citect?", also almost all local integrator's use InTouch, which looks like it has much better add-on packages, support and graphics. We're not there yet, but we're continually moving to try and become a full S88 plant and I'm just starting to think do we jump ship now? I see Schneider have acquired Invensys, as we have System Platform to use the Historian with our Citect System. Just interested to see what people here, particularly if you're familiar with both, thought about the two? Citect is ok, but InTouch looks like a much better solution.
  25. Hello, We have this SCADA system Vijeo Citect 7.2 running in Windows 7. Primarily used as generator's alarm history & monitoring. PLC: OMRON C200HG All communications are good but DIGITAL data (alarms, bustie) from OMRON is not updating in real-time. (Need to restart the Vijeo Citect to make it work).  While BCD & LONGBCD datatypes (voltage, speed current) are working good and showing real-time *OFSVIJEO: INT datatypes are also working good. Protocol UNITY         MODNET30 OMRON      OMRON OFSVIJEO  MODCELL