CNCzone.com-The Largest Machinist Community on the net!



Home Page Mark Forums Read Today's Posts My Replies Classifieds Reviews Photo Gallery Web Links Share Files Advertise With Us Ad List
Go Back   CNCzone.com-The Largest Machinist Community on the net! > Machine Controllers Software and Solutions > CamSoft Products


CamSoft Products Discuss Camsoft PC based CNC controller products here!


This forum is sponsored by:

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Ban this user!
Old 04-01-2005, 04:02 AM
 
Join Date: Nov 2004
Location: USA
Age: 50
Posts: 446
murphy625 is on a distinguished road
How to do 2 "IF" statements on the same line?

How do I put these 2 on the same line? They are to be run inside an Mcode.

!IF \21=GET STAGE 1 THEN[GetStage1]
!IF \21=GET STAGE 2 THEN[GetStage2]

Nothing I do seems to work.. ELSEIF, ELSE IF, ORIF, OR IF, bla bla bla..

When I put them on the same line, only the first IF statement will run... I can not get the 2nd one to work..
They work fine if they are on different lines.

Thanks for the help with all my quesitons..
Murphy
Tweet this Post!Share on Facebook
Reply With Quote

  #2   Ban this user!
Old 04-01-2005, 09:01 AM
TigerPilot's Avatar  
Join Date: Mar 2005
Location: Dominican Republic
Posts: 116
TigerPilot is on a distinguished road

Originally Posted by murphy625
How do I put these 2 on the same line? They are to be run inside an Mcode.

!IF \21=GET STAGE 1 THEN[GetStage1]
!IF \21=GET STAGE 2 THEN[GetStage2]

Nothing I do seems to work.. ELSEIF, ELSE IF, ORIF, OR IF, bla bla bla..
It is not possible as far as I know since resolution for the first "then" is [GetStage1] and you can't have two resolutions at the same time. You have to do it with "else" and it needs a new line and an "end if"

And if I'm wrong, just forget it.

Yoram
Tweet this Post!Share on Facebook
Reply With Quote

  #3   Ban this user!
Old 04-01-2005, 09:39 AM
WayneHill's Avatar  
Join Date: Mar 2004
Location: Michigan
Posts: 769
Blog Entries: 5
WayneHill is on a distinguished road

Use Select Case rather then If statments:

SELECT CASE V21
CASE GET_STAGE_1
GetStage1
CASE GET_STAGE_2
GetStage2
CASE ELSE

END SELECT
Tweet this Post!Share on Facebook
Reply With Quote

  #4  
Old 04-01-2005, 10:18 AM
Cyclone's Avatar
*Registered User*
 
Join Date: Mar 2004
Location: Florida
Posts: 60
Cyclone is on a distinguished road

I agree with Yoram,
!IF \21=GET STAGE 1 THEN[GetStage1] <---ends
!IF \21=GET STAGE 2 THEN[GetStage2] <---ends
if 21 is "GET STAGE 1" then is "true" so it assigns a certain value to memory, when it executes the next line the first result is cleared from memory since you are refering to the same "21" and writes no value to memory or might retain original value since is "false"

Is all about logic, I do not know Mcode but most programing languages all abide by the same rules. I know a little Visual basic and I do alot of functions in excel. What you are trying to do is a "nested statement" (two logical checks on the same line)....you need to connect the two.


my guess would be something like this:
!IF \21=GET STAGE 1 THEN[GetStage1],!ELSEIF \21=GET STAGE 2 THEN[GetStage2]
!END IF

3 nested checks:

!IF \21=GET STAGE 1 THEN[GetStage1],!ELSEIF \21=GET STAGE 2 THEN[GetStage2],!ELSEIF \21=GET STAGE 3 THEN[GetStage3]
!END IF

I used a comma to connect the two statements I am positive is wrong. take a look at other Mcodes that have two or more checks and see how they are connected.

If your only two choices are stage 1 and stage 2 then I would simplify by using one check that would satisfy a true or false
if is true then this, if is not then this
Maybe:
!IF \21=GET STAGE 1 THEN[GetStage1] !ELSE \[GetStage2]
!END IF

Again I dont know Mcode language however you must think "logic", in other words computers are dumb and only do what they are told, try to think like a computer "what are you telling me to do?"

funny note:
I took a C++ programing course. The most fun day was when the instructor asked us to write instructions on how to make a peanut butter and jelly sandwich, simple huh? He later broke out a bag of bread , jelly and peanut butter and had the students follow other students instructions and try to make the sandwich. Needless to say is hard to make a sandwich with a jelly jar, a peanut butter jar, two lids, a knife, a piece of bread, and a bag of bread all in your hands since who wrote the instructions never said to place these items down.

Last edited by Cyclone; 04-01-2005 at 11:30 AM.
Tweet this Post!Share on Facebook
Reply With Quote

  #5  
Old 04-01-2005, 11:11 AM
Al_The_Man's Avatar
Community Moderator
 
Join Date: Dec 2003
Location: Canada
Posts: 15,713
Al_The_Man is on a distinguished road
Buy me a Beer?

Originally Posted by Cyclone
funny note:
I took a C++ programing course. The most fun day was when the instructor asked us to write instructions on how to make a peanut butter and jelly sandwich, simple huh? He later broke out a bag of bread , jelly and peanut butter and had the students follow other students instructions and try to make the sandwich. Needless to say is hard to make a sandwich with a jelly jar, a peanut butter jar, two lids, a knife, a pice of bread, and a bag of bread all in your hands since who wrote the instructions never said to place these items down.
In a similar light vein, I remember way back an Electronic instructor's class came to mid-term break, instead of setting a test, asked all students to solve a problem his wife had in driving her car into their garage, the car was barely shorter than the length of the garage and she would end up bumping the end wall, the instructor was afraid that in the end the wall would suffer and repairs would be needed, so he asked all students that over the break they design a device that would indicate to his wife when her car was at the right position.
Most students came up with varying degrees of electronic complexity, and all would have probally done the trick, but the one that won was the simplest solution.
The winner suggested hanging a tennis ball on a string from the rafter that just contacted the windshield just in front of the driver side.
Al
__________________
“Logic will get you from A to B. Imagination will take you everywhere.”
Albert E.
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
Tweet this Post!Share on Facebook
Reply With Quote

Sponsored Links
  #6   Ban this user!
Old 04-01-2005, 01:36 PM
 
Join Date: Nov 2004
Location: USA
Age: 50
Posts: 446
murphy625 is on a distinguished road

To all posts above..

So I stumped you guys???????

Actually, I have to check \21 against 10 different possibilities in Mcode2 and then later in the same Mcode2 I have to check another 12 possibilities again
I am pretty good with VB but there is no ELSE function in the Camsoft interface..
And there is no SELECT CASE function either....

Anyone have any other ideas???

Murphy
Tweet this Post!Share on Facebook
Reply With Quote

  #7   Ban this user!
Old 04-01-2005, 03:04 PM
 
Join Date: May 2004
Location: United States
Posts: 455
JRoque is on a distinguished road

Hello. I'm not familiar with the interpreter you're using but, are you sure you can use a variable names with spaces in them? as in "get stage 1" as opposed to getstage1?

What's wrong with WayneHill's suggestion?

JR
Tweet this Post!Share on Facebook
Reply With Quote

  #8   Ban this user!
Old 04-01-2005, 03:32 PM
WayneHill's Avatar  
Join Date: Mar 2004
Location: Michigan
Posts: 769
Blog Entries: 5
WayneHill is on a distinguished road

Originally Posted by murphy625
T
And there is no SELECT CASE function either....
Not VB? Camsoft??
Oops
Tweet this Post!Share on Facebook
Reply With Quote

  #9   Ban this user!
Old 04-01-2005, 03:52 PM
 
Join Date: Nov 2004
Location: USA
Age: 50
Posts: 446
murphy625 is on a distinguished road

Originally Posted by JRoque
Hello. I'm not familiar with the interpreter you're using but, are you sure you can use a variable names with spaces in them? as in "get stage 1" as opposed to getstage1?

What's wrong with WayneHill's suggestion?

JR
There is no CaseSelect in my camsoft programming code.. I am familiar with it from programming in Visual Basic but this tool is not available to me this time.

Spaces are ok it seems because most of my code is working.. My problem relates the the fact that my code is limited to 100 lines so if I put things on seperate lines, I am going to run short and not be able to finish it.. (this is a camsoft limitation)

Hmm..
Murphy
Tweet this Post!Share on Facebook
Reply With Quote

  #10   Ban this user!
Old 04-01-2005, 04:02 PM
 
Join Date: May 2004
Location: United States
Posts: 455
JRoque is on a distinguished road

Would adding a ; or : after the first IF..THEN statement work?

!IF \21=GET STAGE 1 THEN[GetStage1]:!IF \21=GET STAGE 2 THEN[GetStage2]

JR
Tweet this Post!Share on Facebook
Reply With Quote

Sponsored Links
  #11   Ban this user!
Old 04-01-2005, 04:42 PM
 
Join Date: Nov 2004
Location: USA
Age: 50
Posts: 446
murphy625 is on a distinguished road

Originally Posted by JRoque
Would adding a ; or : after the first IF..THEN statement work?

!IF \21=GET STAGE 1 THEN[GetStage1]:!IF \21=GET STAGE 2 THEN[GetStage2]

JR
Nope.. Tried it..
[GetStage1]:IF \21=GET STAGE 2 THEN
[GetStage1];IF \21=GET STAGE 2 THEN
[GetStage1] ELSEIF \21=GET STAGE 2 THEN
[GetStage1] ELSE IF \21=GET STAGE 2 THEN
[GetStage1]OR IF \21=GET STAGE 2 THEN

It seems as though the camsoft coding will only let me test for 1 item per line..

I can however do a THENIF statement but that only works for both conditions holding true.

Any other ideas??
Im stummped..
Placed a call to camsoft but got no reply.

Murphy
Tweet this Post!Share on Facebook
Reply With Quote

  #12   Ban this user!
Old 04-01-2005, 05:46 PM
 
Join Date: Mar 2004
Location: United States
Posts: 36
intrusion is on a distinguished road

MurphiesLog StarDate 2005

You can only perform the following statements:
IF
THENIF

But you can also perform loops as you saw in my FILEREAD logic. CamSoft helped me with that.

You can perform quite a bit a stuff with these two using MCODES, GCODES, MACROS and INPUTIO files.

CamSoft has a very helpful front office and I always got a fast response, actually most of the time I get right through to support or a call back within the hour.
Tweet this Post!Share on Facebook
Reply With Quote

Reply




Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
single line fonts? balsaman General CAM Discussion 12 02-18-2006 12:51 PM
Single Line Fonts A. Shuford General CAM Discussion 1 11-14-2004 09:21 AM
Tool tables Nimrod Mastercam 4 11-24-2003 03:31 PM
Please help me out with the line : G450 CFTCP BanglaTech General CAM Discussion 0 10-25-2003 02:08 AM
Line weight JOE65 Autodesk Software (Autocad, Inventor etc) 4 05-21-2003 12:31 AM




All times are GMT -5. The time now is 09:20 PM.





Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Content Relevant URLs by vBSEO
Template-Modifications by TMS

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353