MrPLC Member
  • Content count

  • Joined

  • Last visited

Community Reputation

1 Neutral

About Bobodopalus

Profile Information

  • Country United Kingdom
  1. Can you use internal plc bits in function blocks?

    just to double check this works for clock pulses too? if i put CF102 in the address for 1 second pulse that should be fine?
  2. Can you use internal plc bits in function blocks?

    ye thats all i needed to know thanks, will be a bit easier to convert some ugly code now with alot less inputs
  3. Hi all is it possible to use the internal date of a plc in a function block without setting it as an input for the function block? for instance i have some logic to do something inbetween lets say 10:00 and 16:00 o'clock am i able to use those internals bits of the plc where the time is stored without inputting them to the function block and using them internally?   thanks
  4. setting date cp1l

    ive got it doing what i want it to now via the MOVD instructions settings the bytes for the DATE instruction and have reassigned words to make it a bit nicer, i would still like to know if there is a way of altering bytes in nb designer. while im on the topic, is there a tick box somewhere for numerical displays which makes it always show zeros in front of a number? for instance i am displaying date here and displays it as 24/6/20 but i would much rather it be 24/06/20
  5. setting date cp1l

    yes i need to tie it to the PLC unfortunately, its for controlling operation of a machine through throughout the week. the plc time needs to be adjusted by operators for different time zones and converting from GMT to BST etc
  6. setting date cp1l

    Hi all im currently using the DATE instruction to set the PLC's date and time via the HMI which is an NB7W which i have working but i am currently setting each byte of the words being used in DATE by using numerical inputs in NB designer and entering integer and decimal to set these bits in DATE and its a bit ugly to say the least. is there a way on nb designer to only modify bytes or am i going to have to used full words on nb designer and use MOVD in cx programmer to assign them to their correct byte CURRENT SETUP always on DATE using d50=d53  
  7. inv002_refresh scanlist

    i see, thank you
  8. inv002_refresh scanlist

    i think i get it now that is actually bit 2 and 15 right? so do they ignore the first bit for the node value? so if i want node 1,2 and 3 active i would need 1110 which would be #E right?
  9. inv002_refresh scanlist

    Hi all Can someone please clear the scanlist value up for me which is part of the INV002 function block the documentation says that whatever nodes you have assigned are what bits you need enabled in the scan list they give the example of node 1 and node 14 being used from this they get a scan list of #4002, where does this number come from? for my next job i will be using 3 inverters and am not sure what my scanlist should be
  10. GX Works2 installation problem

    i am having this same problem if any1 managed to fix it, installing IQ works on a win10 pc, disc 1 worked fine and installed gx works and gx developer no problem, but then i get the error on other discs saying something hasnt been installed correctly and to restart
  11. HI everyone i was wondering if i could connect a cp1l-el to 2 different NB screens running 2 different programs. we have a main line HMI which displays the health of the entire line with its own cj2m plc, we also have a machine which is part of the line that has its own plc(CP1l-EL) and HMI. is it possible for me to include the cp1l in the main lines HMI so that it can display the status of that machine? or will it cause issues because it already has a program attached to it. i dont know exactly how the NB program works does it just read the bits of data it needs to or is it constantly looking at the whole plc data list?
  12. Timers in structured text

    after alot more fiddling and this probably isnt the best way of doing it i got it to output what i wanted. for whatever reason dividing on the cans per min line gave an incorrect final answer but moving it to Cycle_time_real seemed to make it work :/   heres the final working code if anyones interested IF Cycle_start=TRUE THEN     Timer_start:= TRUE; END_IF; IF Cycle_end=TRUE THEN     Timer_snap:= Cycle_timer.PV;     Cycle_end_bit:= TRUE; END_IF; IF Timer_10.CF THEN     Timer_start:= FALSE;     Cycle_end_bit:= FALSE; END_IF; TIMHX(Cycle_end_bit, Timer_10,1); TIMHX(Timer_start, Cycle_timer,500); Cycle_time_bin:= (500-Timer_snap); Cycle_time_real:= UINT_TO_REAL(Cycle_time_bin)/100.0; Cans_per_min:= 60.0/Cycle_time_real;  
  13. Timers in structured text

    after a bit more fiddling i got the timer to stop and start , the IF statement wasnt working as expected IF Cycle_start=TRUE THEN     Timer_start:= TRUE; END_IF; IF Cycle_end=TRUE THEN     Timer_start:= FALSE; END_IF; TIMHX(Timer_start, Cycle_timer,Timer_time); Cycle_time_bin:= (500-Timer_time); Cycle_time_real:= UINT_TO_REAL(Cycle_time_bin); Cans_per_min:= 60.0/Cycle_time_real/100;   the thing that needs adjusting now is i need to record the time the timer ended on as it resets on cycle end, i need to snapshot it before it resets and the cycle_time_bin isnt working do i need some symbol attached to the 500? i tried & but that gave an error
  14. Timers in structured text

    HI everyone ive decided to try and use a structured text function block for an machine output calculation, to put it simply i want the machine to say how many units its outputting per minute so i thought it would be much nicer to have a basic maths Structured text block rather than a long bit of ladder for some simple instructions. i have 2 inputs, one is the start of the machine cycle, the other is the end of the machine cycle. every cycle is one unit output. i want to time the gap between input 1 and 2 then just a bit of simple maths 60/(cycle_time) for uniters per minute. i want this to be to 2 decimal places for a reasonable resolution. the main problem im having is the timers in structured text, im a little confused how they work i would do this in ladder by having input 1 set a bit and then input 2 resetting this bit(i assume i can set a bit by using an if statement [if input 1 true, timer{bool}true]) this timer bool would then activate the timer, again how i would do it in ladder would be to have a timer1 count down from &500 then use a maths block for 500-timer1 and this would give time elapsed this is the bit i really dont know how to do in structured text and would appreciate any help in the matter. otherwise i can just do it in ladder   added my idea of what it would look like IF Cycle_start=TRUE THEN     Timer_start:= TRUE; ELSIF Cycle_end=TRUE THEN     Timer_start:= FALSE; END_IF; TIMHX(Timer_start, Cycle_timer,Timer_time); Cycle_time_bin:= 500-Timer_time; Cycle_time_real:= UINT_TO_REAL(Cycle_time_bin); Cans_per_min:= 60.0/Cycle_time_real;
  15. Taking Screen shots

    I love the snipping tool on windows 10, win+shift+s drag over the are you want then paste it wherever you need it, i find it very useful to be able to email people snippets from manuals and such