Search the Community

Showing results for tags 'citect'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 49 results

  1. Omron plc to Citect Scada communication

    Hi Guys, I need some suggestion & solution regarding my recent project. The CQM1H plc which was used earlier is burnt and I am replacing it with CJ2M series Omron plc. Program transfer is possible from CQM1H to CJ2M. But the main issue is the system is controlled by Citect SCADA version 5.50 pack C. The communication of plc and Scada is through 2wire twisted pair cable. I just wanted to know when I replace the plc and convert the program do I have to change any settings or parameters in Scada? If I keep the same previous plc parameter in new plc and check the tags correctly in new plc as per old plc then the new system will communicate with Scada? I am new to citect scada so please provide your support and help.
  2. I'm having a problem creating variable tag array in Citect SCADA V7.40. I looked every possible help, user guide... but no matter how i set array I cannot change value of any element of array beside first one. I configured my variable tag as shown below: Tag name: TestArray I/O Device: Internal (it's an OPC Factory Server) Address: V500[5], %MF4000[5], I2[5], F2[5] (I tried every one of these for REAL or INTEGER type based on user guide/forum posts) Data type: REAL, INTEGER   I tried every one of these but without success. If i try to set value of variable tag array element, example TestArray[1] and TestArray[4], by typing value in Number field (in Citect Runtime) every element of an array is giving me message #ERR, except first one. Other than that in Citect Runtime in All variable tags window, I can see TestArray tag as a single tag, not as an array Note that i'm not using these tags in Cicode but in Graphic Builder / Runtime. I need about about 50 user defined value tags to be sent to SQL DB by SCADA so remote PLC can read those values in order to define state of outputs. I would highly appreciate any kind of help, any tip. Thanks in advance!
  3. CITECT OMFINS3 Serial

    Hello. I'm having problems communicating with omron CJ1m through SERIAL port. I'm using OMFINS3 protocol. Settings: Citect.ini  Source: 0/10/0  10..Last IP Address (used for TCP/IP) BOARD: BOARD1, COMx PORT: PORT1, PORT Nr=1, BOARD1, 9600, 7 ,2, EVEN DEVICE: OMR_SER, Dev Nr= 1, Address: 0/0/0/S, PROT: OMFINS3, PORT: PORT1 If the Unit number = 0, this works. If I set the OMRON Unit number = 1, this stops to work.  I figured out (using Multiway) that the problem is in FINS HOSTLINK HEADER NODE (Node = 0)  [10:22:07,273]  <--:@00FA080000300000000010007010182000100000372*<CR> [!]: No response If I change the FINS HOSTLINK HEADER NODE (Node = 1)  it WORKS. [10:31:32,336]  <--:@01FA08000030000000001000801018200010000037C*<CR> [10:31:32,445]  -->:@01FA00C0000200010000000008010100008830000000003D*<CR> The problem is, that I don't know where can I change the FINS HOSTLINK HEADER NODE in Citect's OMFINS3 driver. The Citect's OMFINS3 driver always use FINS HOSTLINK HEADER NODE (Node = 0) Can you help me? Thanks.
  4. 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.
  5. Hello Everyone, I am working on reports in Vijeo Citect V7.40. I want to generate a report whenever I press the button. I am able to generate it according to date like making a Cicode file and adding the form, whenever I press the button form will open to give me the option to select the date. Similarly, I am trying to make a form for a time also. Can someone guide me on how to do this? STRING sdate,edate,Em,D,M,Y;              D = DateDay(TimeCurrent());          M = DateMonth(TimeCurrent());          Y = DateYear(TimeCurrent(),1);              sdate= "Start Date";         edate= "End Date";         INT hChannel_M;                  FormNew("Select Report date..",38,2,16);         FormInput(20,0,"DD-MM-YYYY Format",Em,20);                           D = DateDay(TimeCurrent());          M = DateMonth(TimeCurrent());          Y = DateYear(TimeCurrent(),1);                   FormComboBox(2 ,0, 15, 6, sDate, 1);         FormAddList(D + "-" + M + "-" + Y);                     FormButton(8 ,1 ,"Select",0, 1);         FormButton(16 ,1 ,"Cancel",0, 2);         FormRead(0);                  STRING START_DATE_TIME         D = DateDay(StrToDate(sdate));  //DateAdd Will convert only when the date is in System Date Format          M = DateMonth(StrToDate(sdate));          Y = DateYear(StrToDate(sdate),1);         START_DATE_TIME = Y + "-" + M + "-" + D;                       STRING END_DATE_TIME             D = DateDay(DateAdd(StrToDate(sdate),86400));  //DateAdd Will convert only when the date is in System Date Format          M = DateMonth(DateAdd(StrToDate(sdate),86400));          Y = DateYear(DateAdd(StrToDate(sdate),86400),1);                  END_DATE_TIME =  Y + "-" + M + "-" + D;                                  VbCallRun(VbCallOpen("GetRep", START_DATE_TIME, END_DATE_TIME)); This is my code for date selection.
  6. Como comunico medidores de potencia ethernet pm5560 con vijeo citect y como agregó las direcciones de los tag?? Ayuda por fa
  7. 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
  8. 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
  9. 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.
  10. 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.
  11. 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
  12. 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.
  13. 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...
  14. 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 2018.zip
  15. 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
  16. 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   SpurLoad.ci
  17. 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  
  18. 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.
  19. 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
  20. 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
  21. 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.
  22. 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.
  23. 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
  24. 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.
  25. 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