Error:: "wrong # args: should be "set varName ?newValue?" " while running TCL script
I m learning Tcl and write short code. After running code i got same error repeatedly and not able to find mistake,,,i wrote it as it is from a tutorial. here is the code below
set ns [new Simulator] set f1 [open out.nam w] #open nam file out.nam $ns namtrace-all $f1 proc finish{} { global ns f1 $ns flush-trace #close $tracefile1 close $f1 exec nam out.nam & exit 0 } set n1 [$ns node] # 3 nodes defined set n2 [$ns node] set n3 [$ns node] set duplex-link $n1 $n2 10mb 10ms Droptail set duplex-link $n2 $n3 10mb 10ms DropTail set duplex-link $n3 $n1 10mb 10ms DropTail set udp1 [new Agent/UDP] #UDP agent attached to node n1 $ns attach-agent $n1 $udp1 set cbr1 [new Application/traffic/CBR] $cbr1 set packetSize_ 500 $cbr1 set interval_ 0.005 $ns attach-agent cbr1 udp1 set null1 [new Aggent/Null] $ns attach-agent $n2 $null1 $ns connect $udp1 $null1 $ns at 0.5 "$cbr0 start" $ns at 4.5 "$cbr0 stop" $ns at 12.0 "finish" $ns run ERROR:wrong # args: should be "set varName ?newValue?" while executing "set f1 [open out.nam w] #open nam file out.nam" (file "11.tcl" line 19) |
Welcome to LQ.
The typos : 1) set f1 [open out.nam w] #open nam file out.nam Right is : set f1 [open out.nam w] ;#open nam file out.nam * Missing semicolon ( ; ). I.e. when tcl code is followed by a comment, the code must end with ; 2) proc finish{} { Right is : proc finish {} { * A missing <space>. Besides that : Please read the "manual" / the examples, here ... http://www.isi.edu/nsnam/ns/tutorial/ . http://www.isi.edu/nsnam/ns/tutorial...pt1.html#first . . http://www.isi.edu/nsnam/ns/tutorial...pt2.html#first . Etc. etc. - |
ERROR: wrong # args: should be "_o3 self class proc src dst"
#Create a simulator object
set ns [new Simulator] #Define different colors for data flows $ns color 1 Blue $ns color 2 Red #Open the nam trace file set nf [open out.nam w] $ns namtrace-all $nf #Define a 'finish' procedure proc finish {} { global ns nf $ns flush-trace #Close the trace file close $nf #Execute nam on the trace file exec nam out.nam & exit 0 } #Create four nodes set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] #Create links between the nodes $ns duplex-link $n0 $n2 1Mb 10ms DropTail $ns duplex-link $n1 $n2 1Mb 10ms DropTail $ns duplex-link $n3 $n2 1Mb 10ms SFQ $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right #Monitor the queue for the link between node 2 and node 3 $ns duplex-link-op $n2 $n3 queuePos 0.5 #Create a UDP agent and attach it to node n0 set udp0 [new Agent/UDP] $udp0 set class_ 1 $ns attach-agent $n0 $udp0 # Create a CBR traffic source and attach it to udp0 set cbr0 [new Application/Traffic/CBR] $cbr0 set packetSize_ 500 $cbr0 set interval_ 0.005 $cbr0 attach-agent $udp0 #Create a UDP agent and attach it to node n1 set udp1 [new Agent/UDP] $udp1 set class_ 2 $ns attach-agent $n1 $udp1 # Create a CBR traffic source and attach it to udp1 set cbr1 [new Application/Traffic/CBR] $cbr1 set packetSize_ 500 $cbr1 set interval_ 0.005 $cbr1 attach-agent $udp1 #Create a Null agent (a traffic sink) and attach it to node n3 set null0 [new Agent/Null] $ns attach-agent $n3 $null0 #Connect the traffic sources with the traffic sink $ns connect $udp0 $null0 $ns connect $udp1 $null0 #Schedule events for the CBR agents $ns at 0.5 "$cbr0 start" $ns at 1.0 "$cbr1 start" $ns at 4.0 "$cbr1 stop" $ns at 4.5 "$cbr0 stop" #Call the finish procedure after 5 seconds of simulation time $ns at 5.0 "finish" #Run the simulation $ns run |
All times are GMT -5. The time now is 12:56 PM. |